文档介绍:数值分析实验报告
学院:电气工程与自动化学院
专业:控制理论与控制工程
姓名:李亚
学号:6120140162
2014 年 12 月24日
实验一函数插值方法
一、目的和意义
1、学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;
2、明确插值多项式和分段插值多项式各自的优缺点;
3、熟悉插值方法的程序编制;
4、如果绘出插值函数的曲线,观察其光滑性。
二、实验原理
1、 Lagrange插值公式
编写出插值多项式程序;
2、给出插值多项式或分段三次插值多项式的表达式;
三、实验要求
对于给定的一元函数的n+1个节点值。试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。
数据如下:
(1)
求五次Lagrange多项式,计算,的值。(提示:结果为, )
(2)
1
2
3
4
5
6
7
试构造Lagrange多项式,和分段三次插值多项式,计算的,值。(提示:结果为, )
四、实验过程
;
,程序如下所示,程序通过运用function函数编写,。调用时只需要在命令窗口调用y=Lagrange(A,input)就可以实现任意次数拉格朗日插值法求解。
function y=Lagrange(A,input)
[a,b]=size(A);
x=input;
y=0;
for j=1:a
Mj=1;
Nj=1;
for k=1:a
if(k==j)
continue;
end
Mj=Mj*(x-A(k,1));
Nj=Nj*(A(j,1)-A(k,1));
end
y=y+A(j,2)*Mj/Nj;
end
;
调用拉格朗日脚本文件对以上两个表格数据求解,表格一对应MATLAB向量A;表格二对应向量I。在命令窗口调用y=Lagrange(A,input),求解如下面截图。
图1 表一数据的解
图2 表二数据的解
通过对插值法算法编程,加深了对插值方法的理解,熟悉了MATLAB编写脚本函数。通过计算机求解,能更加方便快捷求解。
实验二函数逼近与曲线拟合
一、目的和意义
1、掌握曲线拟合的最小二乘法;
2、最小二乘法亦可用于解超定线代数方程组;
3、探索拟合函数的选择与拟合精度间的关系。
二、实验原理
对于给定的测量数据(xi,fi)(i=1,2,…,n),设函数分布为
特别的,取为多项式
(j=0, 1,…,m)
则根据最小二乘法原理,可以构造泛函
令
(k=0, 1,…,m)
则可以得到法方程
求该解方程组,则可以得到解,因此可得到数据的最小二乘解
三、实验要求
1、用最小二乘法进行曲线拟合;
2、近似解析表达式为;
3、打印出拟合函数,并打印出与的误差,;
4、另外选取一个近似表达式,尝试拟合效果的比较;
5、绘制出曲线拟合图。
四、实验步骤:
;
;代码一公式S(x)=a1*t+a2*t^2+a3*t^3;代码二公式S(x)=a2*t^2+a3*t^3+a4*t^4.
代码一:
function error=mintwomultiply(A)
%S(x)=a1*t+a2*t^2+a3*t^3
[a,b]=size(A);
M=zeros(3);
N=zeros(3,1);
error=0;
for i=1:a
M(1,1)=M(1,1)+A(i,1)*A(i,1);
M(1,2)=M(1,2)+A(i,1)*A(i,1)^2;
M(2,1)=M(1,2);
M(1,3)=M(1,3)+A(i,1)*A(i,1)^3;
M(3,1)=M(1,3);
M(2,2)=M(2,2)+A(i,1)^2*A(i,1)^2;
M(2,3)=M(2,3)+A(i,1)^2*A(i,1)^3;
M(3,2)=M(2,3);
M(3,3)=M(3,3)+A(i,1)^3*A(i,1)^3;
N(1,1)=N(1,1)+A(i,1)*A(i,2);
N(2,1)=N(