将matrix1视为m1,将matrix2视为m2。下面是获取m2的操作.m1是列矩阵.m2是mxn矩阵。在我的例子中,m1是5x1矩阵,m2是5x5矩阵。
获取m2的对角元素的操作:
M2(1,1)= M1(1,1)
M2(2,2)= M1(2,1)
M2(3,3)= M1(3,1)
M2(4,4)= M1(4,1)
M2(5,5)= M1(5,1)
获取m2的其他元素的操作:
公式: r(i,j)= min(p(i,k),q(j,k))其中k = 1
M2(1,2)= MIN(M1(1,1),M1(2,1))
M2(1,3)= MIN(M1(1,1),M1(3,1))
M2(1,4)= MIN(M1(1,1),M1(4,1))
M2(1,5)= MIN(M1(1,1),M1(5,1))
...
...
源代码我试过:
for i = 1:5
for j = 1:5
if i == j
B(i,j) = sum(a(i,1:end));
else
minval = 0;
for k = 1
minval = minval + min(a(i,k),a(j,k));
end
B(i,j)= minval;
end
end
end
此代码适用于以下输入矩阵:
22
6
10
6
8
我为此代码获得的输出矩阵:
22 6 10 6 8
6 6 6 6 6
10 6 10 6 8
6 6 6 6 6
8 6 8 6 8
但是代码不适用于下面的输入矩阵:
610
442
699
464
774
输出矩阵iam获取上面的输入矩阵:
5行49列的矩阵。
但是预期的输出矩阵:
610 442 610 464 610
442 442 442 442 442
610 442 699 464 699
464 442 464 464 464
610 442 699 464 774
解决方案是什么?