lsqcurvefit函数在MATLAB中的实例
时间: 2024-06-09 21:11:24 浏览: 200
lsqcurvefit函数是MATLAB中的一种非线性最小二乘拟合工具。它的语法为:
x = lsqcurvefit(fun,x0,xdata,ydata)
其中,fun是一个函数句柄,表示要拟合的非线性函数;x0是一个向量,表示拟合函数的初始参数值;xdata和ydata是用于拟合的数据。
下面是一个示例,演示如何使用lsqcurvefit函数拟合一个正弦函数:
```matlab
% 生成用于拟合的数据
xdata = linspace(0,2*pi,50);
ydata = sin(xdata) + 0.1*randn(size(xdata));
% 定义拟合函数
fun = @(x,xdata) x(1)*sin(xdata+x(2));
% 定义初始参数值
x0 = [1,0];
% 使用lsqcurvefit进行拟合
x = lsqcurvefit(fun,x0,xdata,ydata);
% 绘制拟合结果
plot(xdata,ydata,'ko',xdata,fun(x,xdata),'b-');
legend('数据','拟合结果');
```
运行上述代码,可以得到如下的拟合结果图:
![lsqcurvefit示例图](https://i.imgur.com/9XJ4a4R.png)
在这个示例中,我们使用lsqcurvefit函数拟合了一个正弦函数,得到了拟合参数x,然后绘制出了原始数据和拟合结果。可以看到,拟合结果与原始数据非常接近。
阅读全文