matlab拟合已知数据曲线,将数据拟合到已知函数MATLAB(无曲线拟合工具箱)

本文介绍如何在MATLAB中使用优化算法LMFnlsq对已知数据进行拟合,即使没有曲线拟合工具箱。通过创建一个函数`regr_fun`来定义模型,然后使用随机噪声生成数据,最后应用LMFnlsq优化函数进行拟合。示例代码详细展示了整个过程,并提供了数据的可视化展示。
摘要由CSDN通过智能技术生成

您需要一个平滑的 R^n -> R 函数的优化算法 . 由于您只能访问准系统Matlab,因此最好从文件交换中获取算法 . 为了说明,我选择LMFnlsq,这应该足够了,因为你有一个小问题,虽然它似乎更一般,这里有点矫枉过正 .

下载LMFnlsq并添加到您的Matlab路径 .

Example

为方便起见,创建一个名为 regr_fun 的函数:

function y = regr_fun(par, x)

alpha = par(1);

beta = par(2);

gamma = par(3);

y = (1 - alpha + alpha./sqrt(1 + 2*beta*(gamma*x).^2./alpha)).^(-1) - 1;

end

曲线拟合(与 regr_fun 在同一文件夹中):

%---------------------------------------------------------------------

% DUMMY DATA

%---------------------------------------------------------------------

% Generate data from known model contaminated with random noise

rng(333) % for reproducibility

alpha = 2;

beta = 0.1;

gamma = 0.1;

par = [alpha, beta, gamma];

xx &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值