MATLAB矩阵赋值(数据更新)问题小弟刚刚接触MATLAB不久,看到前人的程序中有如下代码:BranchData=BranchData(:,:);NodeData=NodeData(:,:);其中,BranchData是一个69*5的矩阵;NodeData是一个69*3的矩阵.请问:1.B
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 04:12:57
![MATLAB矩阵赋值(数据更新)问题小弟刚刚接触MATLAB不久,看到前人的程序中有如下代码:BranchData=BranchData(:,:);NodeData=NodeData(:,:);其中,BranchData是一个69*5的矩阵;NodeData是一个69*3的矩阵.请问:1.B](/uploads/image/z/13378292-44-2.jpg?t=MATLAB%E7%9F%A9%E9%98%B5%E8%B5%8B%E5%80%BC%EF%BC%88%E6%95%B0%E6%8D%AE%E6%9B%B4%E6%96%B0%EF%BC%89%E9%97%AE%E9%A2%98%E5%B0%8F%E5%BC%9F%E5%88%9A%E5%88%9A%E6%8E%A5%E8%A7%A6MATLAB%E4%B8%8D%E4%B9%85%2C%E7%9C%8B%E5%88%B0%E5%89%8D%E4%BA%BA%E7%9A%84%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%9C%89%E5%A6%82%E4%B8%8B%E4%BB%A3%E7%A0%81%EF%BC%9ABranchData%3DBranchData%28%3A%2C%3A%29%3BNodeData%3DNodeData%28%3A%2C%3A%29%3B%E5%85%B6%E4%B8%AD%2CBranchData%E6%98%AF%E4%B8%80%E4%B8%AA69%2A5%E7%9A%84%E7%9F%A9%E9%98%B5%EF%BC%9BNodeData%E6%98%AF%E4%B8%80%E4%B8%AA69%2A3%E7%9A%84%E7%9F%A9%E9%98%B5.%E8%AF%B7%E9%97%AE%EF%BC%9A1.B)
MATLAB矩阵赋值(数据更新)问题小弟刚刚接触MATLAB不久,看到前人的程序中有如下代码:BranchData=BranchData(:,:);NodeData=NodeData(:,:);其中,BranchData是一个69*5的矩阵;NodeData是一个69*3的矩阵.请问:1.B
MATLAB矩阵赋值(数据更新)问题
小弟刚刚接触MATLAB不久,看到前人的程序中有如下代码:
BranchData=BranchData(:,:);
NodeData=NodeData(:,:);
其中,BranchData是一个69*5的矩阵;
NodeData是一个69*3的矩阵.
请问:
1.BranchData=BranchData(:,:); 与 NodeData=NodeData(:,:); 是更新BranchData和NodeData的数据么?
2.括号内的“:,:
PS:该段完整代码如下:
power=zeros(1,swarm_size);
for i=1:swarm_size
for j=1:Num_Link_Branch
node_break0(j,1:2,i)=BranchData(Code(j,initial_swarm(i,j))+1,1:2); %将每个染色体编码转成对应的节点后存在node_break0中,进入下步计算
end
node_break=node_break0(:,:,i); %对相应染色体进行潮流计算
BranchData=BranchData(:,:);
NodeData=NodeData(:,:);
[power_loss min_U]=calculate_loss(node_break,BranchData,NodeData);
power(1,i)=power_loss;
end
MATLAB矩阵赋值(数据更新)问题小弟刚刚接触MATLAB不久,看到前人的程序中有如下代码:BranchData=BranchData(:,:);NodeData=NodeData(:,:);其中,BranchData是一个69*5的矩阵;NodeData是一个69*3的矩阵.请问:1.B
冒号的作用我给你简单举个例子,你就明白.假如矩阵写成NodeData(1:10,1:3)就代表这个矩阵的1至10行,1至3列的内容.括号内逗号前表示行,逗号后表示列,冒号用来确定范围,如果不需要特别指定矩阵内容的范围,就可以用两个冒号NodeData(:,:)表示矩阵的所有内容.
相对应的NodeData(1:10,:)表示矩阵行数是1至10行,列数是所有的.NodeData(:,1:3)则表示行数是所有的,列数范围是1到3列.
具体操作这是一个赋值的操作,这两个赋值不是多余的操作,因为是在for循环以内,所以就如你所说的,这个一个更新赋值的操作,每一次循环就重新赋值一次.
这样回答,你应该能明白了吧