我写入循环后发现存储求得的最小值行列的矩阵全都是一个数值,循环没有跑起来
clear;clc
close all
C=[1 3;2 4];
D=[3 0;1 5];
A=[2 1;2 0];
B=[2 1;2 1];
Length=zeros(2,2);
Width=zeros(2,2);
for i=1:2
for j=1:2
a=A(i,j);
b=B(i,j);
L=C-a;
W=D-b;
Z=L+W
% [n,in]=min(Z(:));
% [l,w] = ind2sub(size(Z),in);
b=min(min(A)); %找到矩阵中的最小值
[ba,bb]=find(A==b); %找到最小值所在的位置 ba表示最小值所在行,bb表示最小值所在列
b_min=[ba,bb]
x=ba;
y=bb;
Length(i,j)=x;%最后生成了一个对应长宽的矩阵
Width(i,j)=y;
end
end
最后的Length和 Width全都一个数
我从最简单的逻辑开始重新写代码,发现只有加入最小值的行列后才会出错,但我单拎出来发现最小值行列已经存储为一个数值了,单次循环中应该直接替换掉全0矩阵的对应位置了,但没有成功。
最小值的行列分别被提取,存入Length和 Width的对应位置中。