たとえば、matlab の 2 つの行列間の diag を置き換えたい: a =
1 1 1
1 1 1
1 1 1
b =
2 2 2
2 2 2
2 2 2
関数でこれを行いたい: b =
1 2 2
2 1 2
2 2 1
a =
2 1 1
1 2 1
1 1 2
しかし、最終結果を取得する代わりに、 for ループ内のすべての中間結果を取得しています // 何が間違っていますか?
function [x] = may( a,b )
l1=length(diag(a));
l2=length(diag(b));
n=diag(a);
m=diag(b);
for i=1:l1
b(i,i)=n(i)
end
for j=1:l1
a(j,j)=m(j)
end
end