实验报告—数值分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数值分析》实验报告
姓名:
学号:
专业:
指导教师:刘建生教授
日期: 2015年12月25日
实验一 Lagrange/newton 插值
一:对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n ==。试用Lagrange
公式求其插值多项式或分段二次Lagrange 插值多项式。
数据如下:
计算(0.596)
f ,
(0.99)f 的值(提示:结果为(0.596)0.625732f ≈,
(0.99) 1.05423f ≈ )
试构造Lagrange 多项式6L ()x ,计算的(1.8)f ,(6.15)f 值。(提示:结果为
(1.8)0.164762f ≈, (6.15)0.001266f ≈ )
二:实验程序及注释
MATLAB 程序:function f=lagrange(x0,y0,x )
n=length(x0); m=length(y0); format long s=0.0; for k=1:n p=1.0; for j=1:n if j~=k
p=p*(x-x0(j))/(x0(k)-x0(j)); end end
s=s+y0(k)*p; End f=s; end
结果运行:
结果与提示值完全吻合,说明Lagrange 插值多项式的精度是很高的;
)
45)(35)(25)(15)(05()4)(3)(2)(1)(0()
50)(40)(30)(20)(10()
5)(4)(3)(2)(1()(f x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ----------+
⋅⋅⋅+----------=
同时,若采用三点插值和两点插值的方法,用三点插值的精度更高。若同时采用两点插值,选取的节点距离x 越近,精度越高。
三:采用newton插值进行计算
算法程序如下:
format long;
x0=[0.4 0.55 0.65 0.80 0.95 1.05 ];
y0=[0.41075 0.57815 0.69675 0.90 1.00 1.25382 ]; x=0.596;
n=max(size(x0));
y=y0(1);
%disp(y);
s=1;
dx=y0;
for i=1:n-1
dx0=dx;
for j=1:n-i
dx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j));
end
df=dx(1);
s=s*(x-x0(i));
y=y+s*df; %计算
%%disp(y);
end
disp(y)
运行结果:
绘制出曲线图:
与结果相吻合。
所以newton法和Lagrange法的思想是一样的。Lagrange适合理论分析,但Lagrange法不如newton法灵活。Lagrange如果节点个数改变,算法需要重新编写,而Newton法克服这一缺点,所以应用更为灵活。
实验二 函数逼近与曲线拟合
一、问题提出
在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t 的拟合曲线。
要求:
1、用最小二乘法进行曲线拟合;
2、近似解析表达式为f(x)=a 1t+ a 2t 2
+ a 3t 3
;
3、计算出拟合函数f(x),并列出出f(x)与y(x)的误差;
4、另外选取一个近似表达式,尝试拟合效果的比较;
5、绘制出曲线拟合图。
二、问题分析
三、
从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。
三、实验程序及注释
三次拟合程序(最小二乘法):
t=[0 5 10 15 20 25 30 35 40 45 50 55]%输入时间t 的数据
y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64]%输入含碳量数据
[p,s]=polyfit(t,y,3)%调用MATLAB 最小二乘法的程序进行三次拟合并给出误差分析 format long%14位精度小数
plot(t,y,'*r')%绘制被拟合数据点的离散图 hold on
plot(t,y1,'b')%绘制三次拟合函数图(其中y1是拟合之后的数据) xlabel('时间t (分钟)') %注释x 轴 ylabel('含碳量/10^-4') %注释y 轴 title('三次拟合图') %注释图名 grid%坐标系网格化
四次拟合程序(最小二乘法):
[p,s]=polyfit(t,y,4) %调用MATLAB 最小二乘法的程序进行四次拟合并给出误差分析 format long%14位精度小数
plot(t,y,'*r')%绘制被拟合数据点的离散图
t(分钟) 0
5 10 15 20 25 30 35 40 45 50 55 y (10
4
)
1.27
2.16
2.86
3.44
3.87
4.15
4.37
4.51
4.58
4.02
4.64