我做了一个程序 有一个n*3的矩阵 其中前两列代表起始节点 第三列代表此起始节点出现的次数
我希望该程序找出矩阵中前两列里面 相同的起始节点并合并 然后合并后出现的次数要想加 程序如下:
function [cutoutoflimitA]=Limitindicators2(cutoutoflimit1A)
cutoutoflimit1A
number1=size(cutoutoflimit1A,1);%未剔除重复部分的行数
cutoutoflimitB=zeros(number1,3);
cutoutoflimitB(:,1)=cutoutoflimit1A(:,1);%将上述矩阵的第一列全部置为要修改潮流的风电节点
cutoutoflimitB(:,2)=cutoutoflimit1A(:,2);
cutoutoflimitB
cutoutoflimit2=unique (cutoutoflimitB,'rows')%剔除重复部分的数列
number2=size(cutoutoflimit2,1);
cutoutoflimitA=zeros(number2,3);%生成行数为风电节点数,列数为3列的零矩阵
cutoutoflimitA(:,1)=cutoutoflimit2(:,1);%将上述矩阵的第一列全部置为要修改潮流的风电节点
cutoutoflimitA(:,2)=cutoutoflimit2(:,2);
% number=size(cutoutoflimitA,1);%剔除重复部分的行数
for countsize=1:number2
for countsize1111=1:number1
if cutoutoflimitB(countsize1111,:)==cutoutoflimitA(countsize,:)
cutoutoflimitA(countsize,3)=cutoutoflimitA(countsize,3)+cutoutoflimit1A(countsize1111,3);
end
end
end
cutoutoflimit1A =
1 2 1
4 9 2
5 6 1
7 9 2
9 10 2
9 14 2
13 14 2
1 2 3
1 5 4
应该得到的结果是:
cutoutoflimitA=
1 2 4
1 5 4
4 9 2
5 6 1
7 9 2
9 10 2
9 14 2
13 14 2
实际结果却是:
cutoutoflimitA
1 2 1
1 5 4
4 9 2
5 6 1
7 9 2
9 10 2
9 14 2
13 14 2