matlab的for循环程序不能等号两边都循环么? 15
比如这个寻找矩阵行相等元素的程序:如果分开写是可以运行的——————————————res1=find(data(1)==score(1,:));res2=find(da...
比如这个寻找矩阵行相等元素的程序:
如果分开写是可以运行的——————————————
res1=find(data(1)==score(1,:));
res2=find(data(1)==score(2,:));
res3=find(data(1)==score(3,:));
res4=find(data(1)==score(4,:));
res=[res1;res2;res3;res4];
但是我写成for形式就运行不了————————————
for i=1:1:4;
res(i)=find(data(i)==score(i,:));
end
就是等号左右都带i的形式,要么只运行1次,要么就干脆说左右维数不同无法运行,是格式不正确,还是不能左右都带i?怎么才能改正啊 展开
如果分开写是可以运行的——————————————
res1=find(data(1)==score(1,:));
res2=find(data(1)==score(2,:));
res3=find(data(1)==score(3,:));
res4=find(data(1)==score(4,:));
res=[res1;res2;res3;res4];
但是我写成for形式就运行不了————————————
for i=1:1:4;
res(i)=find(data(i)==score(i,:));
end
就是等号左右都带i的形式,要么只运行1次,要么就干脆说左右维数不同无法运行,是格式不正确,还是不能左右都带i?怎么才能改正啊 展开
展开全部
for i=1:1:4;
res(i,:)=find(data(i)==score(i,:));
end
主要是你要确定你的res到底是个多大的变量。
或者
res = [];
for i=1:1:4;
rest=find(data(i)==score(i,:));
res = [res;rest];
end
res(i,:)=find(data(i)==score(i,:));
end
主要是你要确定你的res到底是个多大的变量。
或者
res = [];
for i=1:1:4;
rest=find(data(i)==score(i,:));
res = [res;rest];
end
追问
可是第一种是“错误使用空矩形矩阵进行赋值。”,第二种还是只运行1次。
左边为定量的for都能运行,可是一旦出现i时十有八九只能运行一次,这是怎么回事啊
追答
res1=find(data(1)==score(1,:));那比如,这一句,解出来的res1是什么??
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询