数值分析(计算方法)实验二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数值分析》课程实验指导书

实验二函数逼近与曲线拟合

一、问题提出

二、实验程序及结果分析:

先写出线性最小二乘法的M文件

function c=lspoly(x,y,m)

% x是数据点的横坐标组成的向量,y是纵坐标组成的向量

% m是要构成的多项式的次数,c是多项式由高次到低次的系数所组成的向量

n=length(x);

b=zeros(1:m+1);

f=zeros(n,m+1);

for k=1:m+1

f(:,k)=x.^(k-1);

end

a=f'*f;

b=f'*y';

c=a\b;

c=flipud(c);

方法一:近似解析表达式为:y(t)=a1t+a2t2+a3t3

第二步在命令窗口输入:

lspoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4. 64],2)

回车得到:

ans =

0.0000

-0.0052

0.2634

0.0178

即所求的拟合曲线为y=-0.0052t2+0.2634t+0.0178

在编辑窗口输入如下命令:

>>x=[0,5,10,15,20,25,30,35,40,45,50,55];y=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4 .64];

>> t=0:0.1:55;

>> z=-0.0052*t.^2+0.2634*t+0.0178;

>> plot(x,y,'ro',t,z);grid

命令执行得到如下图(图2-1)

0102030405060

图2-1 拟合多项式与数据点的关系

方法二:假设近似表达式为:y(t)=c0+c1t+c2t2

第一步在命令窗口输入:

>>lspoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51, 4.58,4.02,4.64],2)

回车得到:

ans =

-0.0024

0.2037

0.2305

即所求的拟合曲线为y=-0.0024t2+0.2037t+0.2305

在编辑窗口输入如下命令:

>>x=[0,5,10,15,20,25,30,35,40,45,50,55];y=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4. 58,4.02,4.64];

>> t=0:0.1:55;

>> z=-0.0024*t.^2+0.2037*t+0.2305;

>> plot(x,y,'ro',t,z);grid

命令执行得到如下图(图2-2)

图2-2 拟合多项式与数据点的关系

三、实验结论

在利用数据的最小二乘法求拟合曲线时,选取合适的近似表达式很重要,应通过不断的试验找出较为合适的近似表达式,这样才能尽可能的提高拟合精度。

相关文档
最新文档