![]() |
[求助]用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 A 运行时出现如下代码 ??? 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); 请问哪位大侠知道这是怎么回事?请赐教,不胜感激! |
只能使用整数应用矩阵元素,你代码中的下标是实数。
建议for循环控制变量I,J用整数,修改程序即可。 |
感谢这位朋友的帮助,问题我已经解决了,改成如下的代码就可以运行了
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 :lol: |
所有时间均为北京时间。现在的时间是 05:51。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.