m0_63496096 2021-10-29 17:55 采纳率: 100%
浏览 70
已结题

MATLAB中二分法出现错误,请问怎样解决

#程序

function g=bisectfun(f,a,b,tol)
% bisectfun.m函数为编写的利用二分法求解非线性方程组的函数
% f为方程f(x)=0中的f(x)
% a为区间的左端点
% b为区间的右端点
% tol为根的精度
% g为求的根
if (nargin==3)
    tol=1.0e-6;
end
g=compute_bisect(f,a,b,tol);

function r=compute_bisect(f,a,b,tol)
% 计算左端点函数值
fa=subs(f,a);
% 计算右端点函数值


fb=subs(f,b);
% 区间中点函数值
fab=subs(f,(a+b)/2);
if(fa*fab>0)
    t=(a+b)/2;
    %采用递归方法
    r=compute_bisect(f,t,b,tol);
else
    if(fa*fab==0)
        r=(a+b)/2;
    else
        if(abs(b-a)<=tol)
            r=(b+3*a)/4;
        else
            s=(a+b)/2;
            r=compute_bisect(f,a,s,tol);  
        end
    end
end

clear all;
tol=1e-6;
f=inline('x^3-3*x+1');a=-1;b=1;
g=bisectfun(f,a,b,tol)
错误使用 sym>tomupad (line 1229)
Unable to convert 'inline' to 'sym'.

出错 sym (line 211)
S.s = tomupad(x);

出错 subs (line 68)
r_unique_name = subs(sym(f_unique_name),varargin{:});

出错 bisectfun>compute_bisect (line 15)
fa=subs(f,a);

出错 bisectfun (line 11)
g=compute_bisect(f,a,b,tol);

clear all;
g=bisectfun('x^3-3*x+1',-1,1,1e-6)
错误使用 sym>convertChar (line 1448)
Character vectors and strings in the first argument can only specify a variable or number. To evaluate character
vectors and strings representing symbolic expressions, use 'str2sym'.

出错 sym>tomupad (line 1214)
S = convertChar(x);

出错 sym (line 211)
S.s = tomupad(x);

出错 subs (line 68)
r_unique_name = subs(sym(f_unique_name),varargin{:});

出错 bisectfun>compute_bisect (line 15)
fa=subs(f,a);

出错 bisectfun (line 11)
g=compute_bisect(f,a,b,tol);



  • 写回答

1条回答 默认 最新

  • joel_1993 2021-10-29 21:12
    关注

    你好,你错误定义了inline的函数
    建议

    f=inline('x^3-3*x+1')
    

    改成

    f=@(x)x^3-3*x+1;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月6日
  • 已采纳回答 10月29日
  • 创建了问题 10月29日

悬赏问题

  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?