声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 936|回复: 3

[编程技巧] simpson - Too many output arguments?

[复制链接]
发表于 2009-7-2 20:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我有一个数值积分程序,可以进行计算,但是我想把该计算结果取出来赋值给另外一个变量出错
调用
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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-7-2 20:31 | 显示全部楼层
function out=simpson(f,a,b,n),楼主没有定义函数的输出变量:lol

评分

1

查看全部评分

 楼主| 发表于 2009-7-2 21:26 | 显示全部楼层

感谢 berryhaw,问题已解决 另外请问

在我的程序运行过程中,会出现很多次f值,哪条语句有问题呢?
f =
     0
f =
    0.0446
f =
    0.0887
...

[ 本帖最后由 ChaChing 于 2010-3-30 21:38 编辑 ]
发表于 2009-7-4 21:35 | 显示全部楼层

回复 板凳 wusemm 的帖子

估计应该是testfunc输出的!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-1 03:27 , Processed in 0.063646 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表