MATLAB拟合算法代码
时间: 2023-03-22 18:00:41 浏览: 382
以下是使用MATLAB进行曲线拟合的示例代码,使用最小二乘法进行拟合:
```matlab
% 生成数据
x = 0:0.1:10;
y = 2*sin(x) + 0.5*randn(size(x));
% 定义拟合模型
fun = @(a,x) a(1)*sin(a(2)*x);
% 初始参数猜测
a0 = [1,1];
% 使用最小二乘法进行拟合
a = lsqcurvefit(fun,a0,x,y);
% 绘制拟合结果
plot(x,y,'o',x,fun(a,x),'-')
legend('Data','Fit')
```
在上面的代码中,我们首先生成了一个带有噪声的正弦波数据。然后,我们定义了一个拟合模型,即 `a(1)*sin(a(2)*x)`,其中 `a` 是拟合参数, `x` 是输入数据。然后,我们使用 `lsqcurvefit` 函数来拟合数据,其中第一个参数是拟合模型,第二个参数是初始参数猜测,第三个和第四个参数是输入数据和输出数据。最后,我们绘制了拟合结果和原始数据。
注意,在实际应用中,拟合模型和初始参数猜测可能需要根据具体情况进行修改。
阅读全文