simpson - Too many output arguments?
我有一个数值积分程序,可以进行计算,但是我想把该计算结果取出来赋值给另外一个变量出错调用
f=@testfunc;
a=0;b=10; a=simpson(f,a,b,20);
error
Too many output arguments.
程序如下
function simpson(f,a,b,n)
% Compute the integral of a f from a to b using Simpson's
% composite rule. n must be even.
if n/2~=floor(n/2), disp(' n must be even');return; end
h=(b-a)/n; S=feval(f,a);
for i=1:n/2
m=2*i-1; x=a+h*m; g=feval(f,x); S=S+4*g;
m=2*i; x=a+h*m; g=feval(f,x);
if(i==n/2), S=S+g; else S=S+2*g; end;
end
INT=h*S/3;
fprintf('\n The integral of f(x) is =%16.8f\n',INT);
请问如何解决
[ 本帖最后由 ChaChing 于 2010-3-30 21:36 编辑 ] function out=simpson(f,a,b,n),楼主没有定义函数的输出变量:lol
感谢 berryhaw,问题已解决 另外请问
在我的程序运行过程中,会出现很多次f值,哪条语句有问题呢?f =
0
f =
0.0446
f =
0.0887
...
[ 本帖最后由 ChaChing 于 2010-3-30 21:38 编辑 ]
回复 板凳 wusemm 的帖子
估计应该是testfunc输出的!
页:
[1]