怎么利用MATLAB拟合函数
时间: 2023-10-10 15:13:18 浏览: 69
在MATLAB中,可以使用`polyfit`函数来进行多项式拟合,使用`fit`函数来进行非线性拟合。
1. 多项式拟合
假设我们有一组数据,可以用多项式函数来拟合它们。首先,我们需要定义自变量和因变量的向量:
```
x = [0 1 2 3 4 5];
y = [3 4 5 6 7 8];
```
然后,我们可以使用`polyfit`函数来进行拟合:
```
p = polyfit(x,y,1);
```
此处,`1`表示拟合的多项式阶数,也可以是其他值。`polyfit`函数将返回一个系数向量`p`,其中`p(1)`为斜率,`p(2)`为截距。
接下来,我们可以使用`polyval`函数来计算拟合函数的值:
```
yfit = polyval(p,x);
```
最后,我们可以绘制原始数据和拟合曲线:
```
plot(x,y,'o',x,yfit,'-')
```
2. 非线性拟合
对于非线性函数,我们可以使用`fit`函数来进行拟合。假设我们有一组二次函数的数据:
```
x = [-1:0.1:1]';
y = 1+2*x+3*x.^2+0.5*randn(size(x));
```
我们可以定义一个二次函数的模型:
```
f = fittype('a+b*x+c*x^2');
```
然后,我们可以使用`fit`函数进行拟合:
```
fitresult = fit(x,y,f)
```
此处,`fitresult`将包含拟合结果,包括系数和拟合优度等信息。
最后,我们可以使用`plot`函数来绘制原始数据和拟合曲线:
```
plot(fitresult,x,y)
```
阅读全文