找回密码
 注册
Simdroid-非首页
查看: 92|回复: 2

数值分析二分法matlab编程inline 与function

[复制链接]
发表于 2011-4-24 09:21:14 | 显示全部楼层 |阅读模式 来自 福建福州
编的一个二分法的程序如下
function x=nabisect(fname,a,b,e)
if nargin<4,e=1e-4;end;
fa=feval(fname,a);fb=feval(fname,b);
if fa*fb>0
error('(a,b) 不是有根区间');
end
x=(a+b)/2;
while (b-a)>(2*e),
    fx=feval(fname,x);
    if fa*fx<0,b=x;fb=fx;else a=x;fa=fx;end
    x=(a+b)/2;
end
在调用的时候,用f=inline('x^4-x-1'),x=nabisect(f,1,2)可以用
但若用function定义一个function y=f(x)
                                            y=x^4-x-1;
x=nabisect(f,1,2)调用 时却会出现??? Input argument "x" is undefined.
Error in ==> f at 2
y=x^4-x-1;
的错误呢
发表于 2011-4-24 10:23:25 | 显示全部楼层 来自 上海
Simdroid开发平台
加一句fname=@f,再调用nabisect(fname, a, b, e)就可以了。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-24 13:42:26 | 显示全部楼层 来自 福建福州
2# gfl
ok,thank you ^
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 21:23 , Processed in 0.036220 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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