实验报告数值分析.docx
- 文档编号:1962003
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:50
- 大小:127.50KB
实验报告数值分析.docx
《实验报告数值分析.docx》由会员分享,可在线阅读,更多相关《实验报告数值分析.docx(50页珍藏版)》请在冰豆网上搜索。
实验报告数值分析
《数值分析》实验报告
姓名:
学号:
专业:
指导教师:
刘建生教授
日期:
2015年12月25日
实验一Lagrange/newton插值
一:
对于给定的一元函数yf(x)的n+1个节点值yjf(Xj),j0,1,卅,n。
试用Lagrange
公式求其插值多项式或分段二次Lagrange插值多项式。
数据如下:
求
五Xj
欠
yj
计算f(0.596),f(0.99)的值(提示:
结果为f(0.596)0.625732
f(0.99)1.05423)
Xj
1
2
3
4
5
6
7
yj
试构造Lagrange多项式Lg(x),计算的f(1.8),f(6.15)值。
(提示:
结果为
f(1.8)0.164762,f(6.15)0.001266)
二:
实验程序及注释
MATLAB程序:
functionf=lagrange(x0,y0,x)
n=length(xO);
m=length(yO);
formatlong
s=;
fork=1:
n
P=;
forj=1:
n
ifj~=k
p=p*(x-x0(j))/(x0(k)-x0(j));
end
end
s=s+y0(k)*p;
End
f=s;
end
结果运行:
>>[O.40-bts0.eb0*SO0.1.Ob]:
yO=L0-410750.57filG0.S067B0.901.00t.253S2J:
x=0»596:
】^Er^nepCvt),y ana■ 0.6257323? 7352S6a »xQ=L0,4Q,550,65Q,SO0-951,Q5J; jrO=TO・410750・578150・696750.90L-00I.253321: )r=C.99: lagrari£etarO,yO,vt) an5— I、06422&77CS127TE »xO=ri2345S;]: »y(J=[0.363C_1350_OSO0.OLE0.007fl.0020.001]: »x=l.S: »Lagrangeyfljx) ans= 0.1S47«1894400000 >>lacrarseCxO^yfl,6^15) ana= 0.001265S2550039L 结果与提示值完全吻合,说明Lagrange插值多项式的精度是很 高的; f(x)(xx1)(xx2)(xX3)(XX4)(Xx5) (x0x1)(x0x2)(x0x3)(x0x4)(x0x5)/ (xx0)(xx1)(xx2)(xx3)(xx4) (x5x0)(x5x1)(x5x2)(x5x3)(x5x4) 同时,若采用三点插值和两点插值的方法,用三点插值的精度更 高。 若同时采用两点插值,选取的节点距离x越近,精度越高。 三: 采用newton插值进行计算 算法程序如下: formatlong; x0=[]; yo=[]; x=; n=max(size(xO)); y=yo(i); %disp(y); s=1;/ dx=yO; fori=1: n-1 dxO=dx; forj=1: n-i dx(j)=(dx0a+1)-dx0(j))/(x0(i+j)-x0(j)); end df=dx (1);s=s*(x-xO(i)); y=y+s*df; %%disp(y); end disp(y) %计算 运行结果: df=dx y=yH-£+df: S%disp end dispCy) .025********* %计算 一卜-Newtonmterpoistion0AccLratevalue —*—Piecewiseinterpotatran oooO koan書A启j. 绘制出曲线图: 与结果相吻合。 所以newton法和Lagrange法的思想是一样的。 Lagrange适合理论分析,但Lagrange法不女口newton法灵活。 Lagrange女口果节点个数改变,算法需要重新编写,而Newton法克服这一缺点,所以应用更为灵活< 实验二函数逼近与曲线拟合 一、问题提出 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t的拟合曲线。 X t(分钟)0510152025303540455055 /4、 y(10)门 y0 /\ /要求: 1、用最小二乘法进行曲线拟合;\ 23 2、近似解析表达式为f(x)=a11+a2t+a3t; 3、计算出拟合函数f(x),并列出出f(x)与y(x)的误差; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、绘制出曲线拟合图。 二、问题分析 三> 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大 量存在,通常利用数据的最小二乘法求得拟合曲线。 三、实验程序及注释 \三次拟合程序(最小二乘法): t=[0510152025303540455055]%输入时间t的数据 y=[0]%输入含碳量数据 [p,s]=polyfit(t,y,3)%调用MATLAB最小二乘法的程序进行三次拟合并给出误差分析 formatIong%14位精度小数 plot(t,y,'*r')%绘制被拟合数据点的离散图 holdon plot(t,y1,'b')%绘制三次拟合函数图(其中y1是拟合之后的数据) xlabel('时间t(分钟)')%注释x轴 ylabel('含碳量/10A-4')%注释y轴 title('三次拟合图')%注释图名 grid%坐标系网格化 四次拟合程序(最小二乘法): [p,s]=polyfit(t,y,4)%调用MATLAB最小二乘法的程序进行四次拟合并给出误差分析 formatIong%14位精度小数 plot(t,y,'*r')%绘制被拟合数据点的离散图 holdon plot(t,y2,'b')%绘制三次拟合函数图(其中y2是拟合之后的数据) xlabel('时间t(分钟)')%注释x轴 ylabel('含碳量/10A-4')%注释y轴 title('四次拟合图')%注释图名 grid%坐标系网格化 四、实验数据结果及分析 三次拟合可以得到其拟合多项式为: 32 y1=拟合函数与被拟合函数图之间的对比如下: (1)红色星号为原始数据; (2)带圈的曲线为最小二乘后而成的结果曲线。 由此可见拟合函数与原函数离散数据点拟合成程度相当好,通过[p,s]=polyfit(t,y,n)对拟 合误差进行分析,如图: 图2-2 由此可知,三次拟合精度较好。 为了提高结果的可信度,我们另外选取一个近似表达式,尝试拟合效果的比较。 于是,进行四次拟合: 其中,拟合得到的多项式为: 4 y2=++ 拟合如图2-3 7Fi需u"l匚叵|区| 554 4 5352515了21,0. O 四次拟合图 图2-3 同样对四次拟合进行误差分析可得: 图2-4 由此可见,四次拟合误差<(三次拟合误差),精度更高。 五、实验结论 在用高阶多项式对某一函数进行曲线拟合时,? 并不是拟合出来的多项式与被拟合函数 在整个区间上都能符合,polyfit()只能保证在输入数据x所能达到的区间上及其附近•求得的 多项式可以最大限度在逼近原函数。 利用最小二乘法对本问题进行的曲线拟合精度较高,而 且,在一般情况下,拟合的多项式次数越多,精度越高。 实验三数值积分与数值微分 、问题提出 (1) 1.5343916) (2) (3) 1. sinx, dx(f(0)oX 1,10.9460831) 1x e I=2dx o4x 计算下列积分值: 1/4 4-sin2xdx(l 0 1 (4) .ln(1x)」 I=厂dx o1x 要求: 1、编制数值积分算法的程序; 2、分别用两种算法计算同一个积分,并比较其结果; 3、分别取不同步长h(ba)/n,试比较计算结果(如n=10,20等); 4、给定精度要求£,试用变步长算法,确定最佳步长。 /二、问题分析 由上可知这四个积分找不到用初等函数表示的原函数,直接计算起来很困难,因此我们 考虑利用函数在若干点得函数值,近似地计算该函数在一个区间上得定积分。 这里采用的方法有三种: 复合梯形公式,复合Simpson公式,Romberg算法。 三、实验程序及注释 1、复合梯形公式MATLAB程序: functionl=T_quad(x,y) %复化梯形求积公式,其中, %x为向量,被积函数自变量的等距节点; %y为向量,被积函数节点处的函数值; n=length(x);m=length(y); ifn〜=m error('thelengthofXandYmustbeequal! ');return; end h=(x(n)-x (1))/(n-1); a=[12*ones(1,n-2)1]; I=h/2*sum(a.*y); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2、复合Simpson公式MATLAB程序: functionl=S_quad(x,y) %x为向量,被积函数自变量的等距节点; %y为向量,被积函数节点处的函数值; n=length(x);m=length(y); ifn〜=m error('thelengthofXandYmustbeequal! '); return; end ifrem(n-1,2)~=0%如果n-1不能被2整除,则调用复化梯形公式 I=T_quad(x,y); return; end N=(n-1)/2;h=(x(n)-x (1))/N;a=zeros(1,n); fork=1: N a(2*k-1)=a(2*k-1)+1; a(2*k)=a(2*k)+4; a(2*k+1)=a(2*k+1)+1; end l=h/6*sum(a.*y); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3、Romberg算法MATLAB程序: functionl=R_quad_iter(fun,a,b,ep) %Romberg求积公式,其中, %fun为被积函数; %a,b为积分区间端点,要求a %ep精度系数,缺省值为1e-5. ifnargin<4 ep=1e-5;\/ end m=1;h=b-a; l=h/2*(feval(fun,a)+feval(fun
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 数值 分析