Nodal admittance matrix using for loop and if statement
1 回表示 (過去 30 日間)
古いコメントを表示
I want to ask how can I get the matrix Y if I have the value of y1, y12, y13, y23,...,etc.
I have coding as below, but it dose not work. Who can help me?
B_matrix =[0 2.5000 0 1.6667 5.0000 0; -2.5000 0 5.0000 2.5000 0 0;0 -5.0000 0 0 5.0000 0; -1.6667 -2.5000 0 0 0 0; -5.0000 0 -5.0000 0 0 0; 0 0 0 0 0 0]
Y=zeros(6,6);
for m=1:6
for n=1:6
if m==n
for (k=1:6) & (k ~ = m)
Y(m,n)=B_matrix(m,n)+B_matrix(m,k);
else
Y(m,n)=-B_matrix(m,n);
end
end
end
end
Y
0 件のコメント
採用された回答
Andrei Bobrov
2016 年 10 月 16 日
Y = diag(sum(B_matrix,2)) - (~eye(size(B_matrix))).*B_matrix;
2 件のコメント
Andrei Bobrov
2016 年 10 月 16 日
aB = abs(B_matrix);
Y = diag(sum(aB,2)) - (~eye(size(B_matrix))).*aB;
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Particle & Nuclear Physics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!