请帮我看看这个数值积分的程序
我运行这个程序:syms x y t
E= zeros(9);
for i = 1:9,
for j = 1:9,
E(i,j) =int(2*sin(t)/(10000*((i-5)/200)-273-102*cos(2*t)+10000*((j-5)/200)^2-400*(j-5)/200*sin(t))^(1/2),t,0,2*pi);
end
end
disp(E)
运行了很久(大概十来个小时)才得到这个结果
??? Error using ==> sym/maple
System error, ran out of memory
Error in ==> D:\toolbox\symbolic\@sym\int.m
On line 51==> r = maple('map','int',f,);
请帮我修改一下,谢谢! 楼主为什么不先积分后循环 楼主为什么不用数值积分.难道非用符号积分吧? 好像不是很复杂的积分, 可以算出定积分来的。 E(i,j) =int(2*sin(t)/(10000*((i-5)/200)-273-102*cos(2*t)+10000*((j-5)/200)^2-400*(j-5)/200*sin(t))^(1/2),t,0,2*pi);
这个式子就是通过int(0.02*sin(t)/sqrt(x-0.02-0.02*cos(t)^2+(y-0.02*sin(t))^2+0.0025),t,0,2*pi)得到的结果。 我用quad函数,举个例子
F = inline('0.02*sin(x)/sqrt(1-0.02-0.02*cos(x).^2+(1-0.02*sin(x).^2+0.0025))');
Q = quad(F,0,2);
disp(Q)
为什么会显示一下错误啊?
???Index exceeds matrix dimensions.
Error in ==> D:\toolbox\matlab\funfun\quad.m
On line 70==> if ~isfinite(y(7)) 原帖由 lenapu 于 2007-6-3 22:47 发表 http://www.chinavib.com/forum/images/common/back.gif
我用quad函数,举个例子
F = inline('0.02*sin(x)/sqrt(1-0.02-0.02*cos(x).^2+(1-0.02*sin(x).^2+0.0025))');
Q = quad(F,0,2);
disp(Q)
为什么会显示一下错误啊?
???Index exceeds matrix dimensi ...
用 ./ 非 / 我想让quad参与循环,比如:
A=zeros(10);
for k=1:10
F = inline('0.02*sin(x)+k');
A(k)= quad(F,0,2);
end
disp(A)
可是却又显示错误,是不是积分函数里面除了积分变量以外还含有其他的变量的时候,就不能应用quad函数?
??? Error using ==> inline/feval
Not enough inputs to inline function.
Error in ==> D:\toolbox\matlab\funfun\quad.m
On line 62==> y = feval(f, x, varargin{:}); 看了‘“关于求解变参数微分方程”回复专贴’
明白了
呵呵!
页:
[1]