数值分析实验之最小二乘拟合 含有噪声扰动(MATLAB实现)

详细实验指导见上一篇,此处只写内容啦

y=f(x)=sin(x)+h(x)在区间[0,10]上按101等距节点确定的离散数据点组(xi,yi)的直线拟合以及曲线拟合,其中是服从h(x)标准正态分布的噪声扰动

syms x
x=0:0.1:10;
y=sin(x)+normrnd(0,1,1,101);
plot(x,y,'.')
cftool;

散点图

  

之后会打开拟合工具箱,界面如下:

这里为可视化操作,比较简单。在此你就可以选择拟合程度较好的曲线啦~

• 补充

① 一次函数线性拟合使用polyfit(x,y,1)

②多项式函数线性拟合使用 polyfit(x,y,n),n为次数

拟合曲线

x=[0.5,1.0,1.5,2.0,2.5,3.0],

y=[1.75,2.45,3.81,4.80,7.00,8.60]。

解:MATLAB程序如下:

x=[0.5,1.0,1.5,2.0,2.5,3.0];
y=[1.75,2.45,3.81,4.80,7.00,8.60];
p=polyfit(x,y,2)
x1=0.5:0.5:3.0;
y1=polyval(p,x1);
plot(x,y,'*r',x1,y1,'-b')

  计算结果为

p =0.5614 0.8287 1.1560

  

即所得多项式为y=0.5614x^2+0.8287x+1.15560

猜你喜欢

转载自www.cnblogs.com/ynly/p/12788462.html