登录论坛

查看完整版本 : [求助]请大家帮忙看看这个for 的问题, 谢谢各位高手的帮助!


hata7451321
2008-05-28, 20:17
请大家帮忙看看这个for 的问题, 谢谢各位高手的帮助!

求救!!

core_radius=31.25;
nco=1.45;
ncl=1.44;
wavelength=850*(10^-3);
nd=(nco^2-ncl^2)/(2*(nco^2));
totalmgn=((2*pi*core_radius*nco)/wavelength)*((nd/2)^(1/2));
totalmgn=round(totalmgn);
azimuthno1=0:1:(totalmgn-1);
radialno1=0:1:floor((totalmgn-1)/2);
[lm,nm]=meshgrid(azimuthno1,radialno1);
LM=reshape(lm,1,[]);
NM=reshape(nm,1,[]);
Q=2.*NM+LM+1;
MGN=[1:3];
for i=1:1:length(MGN)
QQ(i,:)=find(Q==MGN(i))
end

??? Subscripted assignment dimension mismatch. 这个是错误信息

fgabertb
2008-05-30, 13:36
QQ(i,:)=find(Q==MGN(i))

這行不對了

因為每一個row 的長度不會一樣長 所以沒法構成矩陣 錯在這邊

如果把 find() 拿掉 就可以跑了

不過我是不懂你最後需要的是啥:smile:

zhanhuichong
2008-05-31, 16:48
QQ(i,:)=find(Q==MGN(i))
错误下表没法统一
使用cell{i}=find(Q==MGN(i))就好了