matlab循环and循环and循环.有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3]; 又有个备用数字的集合P=[5 6 7 8 9];现在要取遍它的每一行(这是第一个循环)之后对它的这一行数值进行分析(这是第二

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 17:27:22
matlab循环and循环and循环.有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3]; 又有个备用数字的集合P=[5 6 7 8 9];现在要取遍它的每一行(这是第一个循环)之后对它的这一行数值进行分析(这是第二

matlab循环and循环and循环.有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3]; 又有个备用数字的集合P=[5 6 7 8 9];现在要取遍它的每一行(这是第一个循环)之后对它的这一行数值进行分析(这是第二
matlab循环and循环and循环.
有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3]; 又有个备用数字的集合P=[5 6 7 8 9];
现在要取遍它的每一行(这是第一个循环)
之后对它的这一行数值进行分析(这是第二个循环)
如何分析:现在有两个一维数组,i=[1 2 2 3]; j=[2 3 4 4];
依次取遍 i 与 j 中的数值,(第三个循环)
如,第一次时,i(1)=1;j(1)=2; 那么就让F第一行的第 i(1) 个数字与 j(1) 个数字作比较
这里加个判断:如果 F第一行的第 i(1) 个数字 等于 j(1) 个数字
则 令 F第一行的第 j(1) 个数字换成P中第一个数字(这样做只是为了找一个异于F中元素的值,使F第一行的第 i(1) 个数字 不等于 j(1) 个数字),
这里再加个标志值(n=0),
然后第一行的第i(2)与j(2);i(3)与j(3);i(4)与j(4);分别作了比较时,
只要还有第 i(k) 个数字 等于 j(k) 个数字的
就 对j(k) 个数字 替换P中下一个数字,(这里还需要一个循环)
并让那个标志值n=n+1
最后取遍F中的每一行,对每一行作了数值分析之后,分别输出每一行的标志值,找到标志值最小的那一行,并输出这一行.
可乱吧,我先举个例子
例如取到第一行是[1 2 1 1]
i=[1 2 2 3]; j=[2 3 4 4];,
直到取到 第 i(4) 与 j(4)作比较的时候才有F的这一行的第 i(1) 个数字 等于 j(1) 个数字),就让 j(4)=P(1)
n=n+1,
如果其它行中做完比较时的n都比第一行的大,那么就输出F的第一行 [1 2 1 1] 、标志值n=1.
(求教跪拜)
如果我的表述有问题或是太乱让朋友们没理清的,请一定要回复我.

matlab循环and循环and循环.有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3]; 又有个备用数字的集合P=[5 6 7 8 9];现在要取遍它的每一行(这是第一个循环)之后对它的这一行数值进行分析(这是第二
F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3];
P=[5 6 7 8 9];
i=[1 2 2 3];
j=[2 3 4 4];
[k1,k2]=size(F);
N=[];
for ii=1:k1
n=0;
for jj=1:k2
if F(ii,i(jj))==F(ii,j(jj))
n=n+1;
F(ii,j(jj))=P(n);
end
end
N=[N,n];
end
H=find(N==min(N))%输出n最小的行数
F(H,:)
有问题在问我,祝好运.