请教用for赋值矩阵出现的问题
for I=0:0.01:2,for J=0:pi/100:2*pi,
result=dblquad(inline('x.*exp(i*(x.^3.*cos(y)-I.*x.*cos(y-J)-x.^2))'),0,1,0,2*pi,[],[],I,J);%求二重积分
a=I./0.01+1;b=J/(pi/100)+1;
A(a,b)=((abs(result)).^2)/(pi.^2);
end
end
运行时出现以下的代码
??? Attempted to access A(15,1); index must be a positive integer or logical.
Error in ==> Untitled1 at 5
A(a,b)=((abs(result)).^2)/(pi.^2);
请问那位大侠知道哪里出问题了吗?请赐教,感激不禁! 原帖由 liujian 于 2008-4-2 10:47 发表 http://www.chinavib.com/forum/images/common/back.gif
for I=0:0.01:2,
for J=0:pi/100:2*pi,
result=dblquad(inline('x.*exp(i*(x.^3.*cos(y)-I.*x.*cos(y-J)-x.^2))'),0,1,0,2*pi,[],[],I,J);%求二重积分
a=I./0.01+1;b=J/(pi/100)+1;
A(a,b)=((ab ... 建议先阅读基础书,还有置顶帖中 for 新手系列的帖子
回复 2楼 的帖子
感谢你的回复,我看过了基础的书籍,可是还是不知道哪里出了毛病这个程序的第一行for I=0:0.01:2如果改成for I=0:0.01:0.13就没有这样的问题了
请教这是怎么一回事,能给个提示吗?
回复 3楼 的帖子
m=0:0.01:2;n=0:pi/100:2*pi;
for m=0:length(m),
for J=0:length(n),
result=dblquad(inline('x.*exp(i*(x.^3.*cos(y)-I.*x.*cos(y-J)-x.^2))'),0,1,0,2*pi,[],[],I,J);%求二重积分
a=I./0.01+1;b=J/(pi/100)+1;
A(a,b)=((abs(result)).^2)/(pi.^2);
end
end估计是指标出问题,改成这样试试 用下面的试试
clc
clear
jsq1=0;
for I=0:0.01:0.01+14*0.01
jsq1=jsq1+1;
jsq2=0;
for J=0:pi/100:0
jsq2=jsq2+1;
result=dblquad(inline('x.*exp(i*(x.^3.*cos(y)-I.*x.*cos(y-J)-x.^2))'),0,1,0,2*pi,[],[],I,J);%求二重积分
% aa=I./0.01+1
% b=J/(pi/100)+1
A(jsq1,jsq2)=((abs(result)).^2)/(pi.^2);
end
end :@) 谢谢两位朋友热心的给出了代码,问题我已经解决了
for I=1:200,
for J=1:200,
a=(I-1).*0.01;b=(J-1).*(pi/100);
result=dblquad(inline('x.*exp(i*(x.^3.*cos(y)-a.*x.*cos(y-b)-x.^2))'),0,1,0,2*pi,[],[],a,b);%求二重积分
z=(I-1)*200+J;
A(z)=((abs(result)).^2)/(pi.^2);
end
end
我这样做就没问题了,再次表示感谢:handshake
页:
[1]