Amy_is_growing 2017-10-07 13:31 采纳率: 66.7%
浏览 573

Matlab二分法,总是出现错误,各位大神请赐教!

 %二分法
function [xstar,index,it]=bisect(fun,a,b,ep)
if nargin<4 
    ep=0.00001;
end
fa=feval(fun,a);fb=feval(fun,b);
if fa*fb>0
    xstar=[fa,fb];index=0;it=0;
    return
end
k=0;
while abs(b-a)/2>=ep
    x=(a+b)/2;
    fx=feval(fun,x);
    if fx*fa<0
        b=x;fb=fx;
    else
        a=x;fa=fx;
    end
    k=k+1;
end
xstar=(a+b)/2;index=1;it=k;
end

function f=fun2(x)
f=exp(x)+10*x-2;
[xstar,index,it]=bisect('fun2',0,1,0.001);
end

出错:>> fun2(1)
Maximum recursion limit of 1000 reached. Use set(0,'RecursionLimit',N) to change the limit. Be aware
that exceeding your available stack space can crash MATLAB and/or your computer.

Error in bisect

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 有人会搭建GPT-J-6B框架吗?有偿
    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名