matlab 拟合函数,MATLAB的拟合函数和工具

本文详细介绍了MATLAB中用于一元和多元函数拟合的工具,如cftool、polyfit、regress、nlinfit和lsqcurvefit。重点讲解了非线性函数最小二乘拟合的nlinfit和lsqcurvefit函数,包括其语法、参数设置以及实际应用示例。此外,还提到了优化选项optimset的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一元函数拟合可用cftool工具箱, 对于一元多项式拟合也可用polyfit()

多元线性函数y=ax的拟合函数regress()

语法是:

[a, aint]=regress(y,x,alpha)

其中1-alpha是置信度, 默认alpha=0.05. 即置信度为�, aint是a的置信区间

多元非线性函数最小二乘拟合nlinfit()(在MATLAB的统计工具箱中); lsqcurvefit()(在MATLAB的优化工具箱中)

函数nlinfit()的语法是:

[a,r,J]=nlinfit(X,Y,Fun,a0,options)

其中Fun是函数y=f(a,x)的M-函数, 用@函数文件名表示, 或由inline()函数表示,X是自变量的实测数据阵,第j列是第j个自变量数据, Y是因变量的实测数据列向量,其第i列的值是函数y=Fun(a,x)中x取X的第i行时的测量值. a0是参数a的估计初值列向量,输出是在最小二乘意义下的最佳参数a列向量,残差r,残差r对a的Jacobi向量构成的矩阵J,options是选项, 可以在运行nlinfit前先用statset来修改默认的参数值

常用的参数为

'MaxIter'   - 最大叠代次数,默认值为100.

'TolFun'    - 残数平方和允许值. 默认值 1e-8.

'TolX'      - 参数a的允许误差. 默认值 1e-8.

函数nlinfit 忽略NaN

设置法如

options=statset(‘MaxIter’, 200, ‘TolFun’, 1e-10)

再运行 c=nlparci(a,r,J)就得到置信度为95%的置信区间c

再用n=numel(c);

errorbar(1:n,a,c(:,1)-a,c(:,2)-a); 绘制出参数估计及其置信区间.

也可以用nlintool图形交互式窗口来拟合,格式是

nlintool(X,Y, Fun, a0, a, 'xname','yname');

函数lsqcurvefit()的语法是

[a, rnorm, r, exitflag]=lsqcurvefit(Fun, a0, X,Y, lb,ub,options)

其中lb,up是a的预估下界和上界向量,rnorm为误差平方和, exitflag是运行情况,

1  收敛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值