• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-08-07
  • 语言: Matlab
  • 标签: matlab  二分法  程序  

资源简介

数值分析的二分法的实现,自己随便写的,大家交流交流。有不对的请指出来,谢谢。

资源截图

代码片段和文件信息

function [anfxi]=erfenfa(fa0b0typen)

%f为要求解的函数
%n为循环次数
%a0为起始区间的左端点
%b0为起始区间的右端点
%type为使计算停止的方法,type=1时为通过因变量的比较,type=2是为通过自变量的比较
%e为精度
%ans使f(x)为0的点,即答案

if  nargin==3
     type=1;%默认方法为方法1
     n=4;%精确位数
     eps=0.0001;    %默认精度为0.0001 
elseif nargin==4
    n=4;
    eps=0.0001;    %默认精度为0.0001
end                
eps=0.1^n;
digits(n+1);
i=0;
Y=inf; %令Y等于无穷大,以便在第一步时候下面的while可以运行 
X=inf; %令X等于无穷大,以便在第一步时候下面的while可以运行 
Ya0=(subs(sym(f)findsym(sym(f))a0));
Yb0=(subs(sym(f)findsym(sym(f))b0));  %计算起始端点的函数值

if(Ya0==0)           %如果端点对应的函数值为零,则该点就为函数的零解
    an=a0;
elseif(Yb0==0)
    an=b0;
elseif(Ya0*Yb0<0)       %根据二分法的条件:端点的函数值必须异号
    X0=(

评论

共有 条评论