MATLAB: Nodal admittance matrix using for loop and if statement

for loopifnodal admittance matrixnot equal

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

Best Answer

Y = diag(sum(B_matrix,2)) - (~eye(size(B_matrix))).*B_matrix;