MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   有关数组的小问题,请教? (https://www.labfans.com/bbs/showthread.php?t=5505)

yjy7604 2008-11-27 10:46

有关数组的小问题,请教?
 
我想得到OPR数组中全为0的列,代码如下,结果报错.
opr=[0 1 1 0 0 0 0 0;
0 0 0 1 0 0 0 0;
0 0 0 1 0 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 0 0];
[n,m]=size(opr);
for j=1:m
if opr(:,j)==0
a(j)=j;
end
a(j)
end
[COLOR="Red"]错误提示:[/COLOR]
??? Index exceeds matrix dimensions.

guofeng0108 2008-11-27 14:44

回复: 有关数组的小问题,请教?
 
吧a(j)改成a;
其实可以先给a赋值;
然后令a(j)=1来确定结果的,那样比较直观

yjy7604 2008-11-28 09:59

回复: 有关数组的小问题,请教?
 
不太对,我得自己在试,不过还是谢谢你!

zhangyanchao 2008-11-30 14:15

回复: 有关数组的小问题,请教?
 
opr=[0 1 1 0 0 0 0 0;
0 0 0 1 0 0 0 0;
0 0 0 1 0 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 0 0];
[n,m]=size(opr);
i=0;
for j=1:m
if all(opr(:,j)==0)
i=i+1;
a(i)=j;
end;
end;
a
如此就OK了!

zhyanchao 2008-11-30 14:32

回复: 有关数组的小问题,请教?
 
opr=[0 1 1 0 0 0 0 0;
0 0 0 1 0 0 0 0;
0 0 0 1 0 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 0 0];
[n,m]=size(opr);
i=0;
for j=1:m
if all(opr(:,j)==0)
i=i+1;
a(i)=j;
end;
end;
a


所有时间均为北京时间。现在的时间是 13:16

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.