• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[matlab] 4.M函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

函数文件的编写

新建一个函数文件

函数的第一行的格式 :function [输出的参数] =函数名 (输入的参数)

输入和输出的参数可以有多个

保存函数文件的时候,注意文件名要和函数名一样

函数头和函数体之间可以有多行%开始的注释,说明函数的使用方法,当执行 help 函数名 的时候会显示这些注释 ,直到遇到第一个非注释行为止

%% 注意输入的参数。函数fun以及给定的区间[a,b],求出精确度为ep的零点x_star,k为迭代次数 ;
function [x_star,k] = bisect1(fun,a,b,ep)
%二分法求方程的近似值
if nargin<4 % nargin,nargout 是函数文件里的固有变量,意思是输入(输出)参数的个数
    ep=1e-5; % 如果bisect1只输入前三个参数,那么精确度默认为1e-5
end
fa=feval(fun,a);fb=feval(fun,b); %函数fun 在点a,b 处的函数值
if(fa*fb>0)  %如果a,b之间不存在零解
    disp('error');
    x_star=NaN;
    k=NaN;
else
    k=1; % 迭代次数初始化
    while abs((b-a)/2)>ep %区间大于精确度的话就迭代
        x=(a+b)/2;
        fx=feval(fun,x);
        if fa*fx<0 %[a,x]区间存在零解
            b=x;fb=fx; %缩小b的上限
        else
            a=x;fa=fx; %如果无解,加大a的下限
        end
        k=k+1; %每循环一次 迭代加一
    end
    x_star=(a+b)/2; %把最后的结果赋值给输出的x_star
end
bisect1.m
fun=inline('x^3-x-1','x'); %定义函数
[x_star,k]=bisect1(fun,1,15,0.0000005)
main.m

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi多线程程序示例(与.net一样简单)发布时间:2022-07-18
下一篇:
一步步教你优化Delphi字串查找(转载)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap