ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:220.82KB ,
资源ID:4046546      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4046546.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值分析实验二讲解Word下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数值分析实验二讲解Word下载.docx

1、3. 理解插值方法与数据拟合的区别,掌握数据拟合方法解决实际问题的基本步骤和求解理论,并能通过数值实验进行验证。实验准备:1. 在开始本实验之前,请回顾教科书的相关内容;2. 需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机。实验内容及要求A题 在某海域测得一些点处的水深由表1给出,在矩形区域内画出海底曲面的图形;若船的吃水深度为5英尺,请问在矩形区域里的哪些地方船要避免进入。表1 海域数据表129140103.588185.51951057.5141.52314722.5137.585.5486157.5107.57781162117.5-6.5-

2、81356.5-66.584-33.59B题 设从某一实验中测得2个变量和的一组数据表2所示。表2 变量关系数据表125710求一代数多项式曲线,使其最好地拟合这组给定数据。要求:请用多项式和指数模型进行曲线拟合,观察其结果的精度,再直接调用polyfit命令进行比较。C题 考察函数(1)设计插值方案,构造龙格(Runge)现象。(2)设计插值方法消除龙格(Runge)现象,要求至少用分段线性插值和分段三次插值两种算法进行设计,并比较两种算法的精度。D题 已知数据(表3)表3 数据表0.561600.562800.564010.565210.827410.826590.825770.81495

3、试用Lagrange插值多项式求时的函数近似值说明:实验过程应包括对问题的简要分析、求解方法、求解步骤、程序及其必要的图表等内容。实验过程:A题的实验过程1、实验中问题的重述在某海域测得一些点处的水深由表1给出,在矩形区域2、对实验的分析2.1 对软件的选择对于此题来说,利用Matlab10.0软件编程计算。2.2 对“如何画海底曲面图形”的分析要画出海底曲面图形,首先就应该有该海域海底是平滑的假设;然后,由于测量点是散乱分布的,所以在平面上先作出测量点的分布图;其次,利用二维插值方法griddadt函数补充一些点的水深;最后,再利用surf函数作出海底曲面图。2.3 对“哪些地方需避免进入”

4、的分析由于船只的吃水深度为5,所以在水深为5以下的区域都是危险区域,船只都需避免。于是,先作出等高线图,再通过等高线图得到水深小于5的区域。2.4 对结果呈现的分析由于题中明确要求画出海底曲面,所以利用插值,以曲面图显示结果。题目中还要求给出哪些地方需要避免进入,所以可以利用图形显示出那一部分区域,也可以给出该危险区域中点的坐标范围。3、实验求解过程(程序见附录)首先,利用plot函数,画出所给14个点的位置分布图,分布图见下图1;然后,利用meshgrid函数,生成一些采样点,便于接下来根据这些采样点绘制出整个海底曲面图形;其次,利用griddadt函数进行插值;再次,利用surf函数,画出

5、经过插值后的海底曲面图形,见下图2。图1 测量点的分布图图2 海底曲面图最后,利用contour函数,画出海水的等高线图,见下图3。并且,利用clabel函数标记出各个等高线的水深高度。图3 等高线图于是得到该危险区域为:图3中水深为-5的等高线区域内部所有的位置。B题的实验过程一、用多项式拟合曲线观察这一实验中测得的变量x、y的数据并进行分析,当i=1,5时y随x的增大而减小,当i=6,9时,y随x的增大呈线性增大。那么我们就可以采取n=2次多项式进行曲线拟合,然后观察图像的变化及其精度,并分析。用matlab多项式拟合曲线图像如下:图4 二次多项式拟合图像图5 三次多项式拟合图像图6 四次

6、多项式拟合图像图7 五次多项式拟合图像图8 六次多项式拟合图像图9 七次多项式拟合图像通过上面六个拟合图像我们可以观察到当拟合多项式的次数越高,我们就猜想:拟合多项式的次数越高那么拟合曲线的精度就越高,这一结论是否正确呢?如果一直这样下去会产生什么样的情况?图10八次多项式拟合图像从上一图像我们可以看出,在x=1,3这个区间时,图像幅度变化的非常大。但是我们可以观察到下图是当n=12时的图像,可以看出当x=9 10范围内时变化幅度大。图11次多项式拟合图像尽管曲线会因n的取值的增大,会不同程度的发生变化。但是通过上面的图像我们可以总结出当多项式的次数越高时,曲线穿过点的个数是越多的,当n=8时

7、,基本上曲线能穿过每一个点,当n=12时也一样。二、用polyfit命令拟合曲线我们直接调用命令进行作图: p=polyfit(x,y,2)和p=polyfit(x,y,8),分别得到以下结果:图12 polyfit(x,y,2)拟合图像图13 polyfit(x,y,8)拟合图像我们发现直接用polyfit命令非常方便,只需要改变维数就行了,结果和多项式拟合的图像一样,因此我们可以用这个命令来判断上述的结论,当n=100时拟合图像如下:图14 polyfit(x,y,100)拟合图像结论:并非多项式拟合的次数越高越好,比如当n=13时图像就如下图:图14 polyfit(x,y,13)拟合图

8、像三、用指数模型拟合曲线同样的道理,指数模型拟合也是一样,得到以下拟合图像:C题的实验过程一、实验分析(1)、要求构造龙格现象,则采用多项式插值的方法呈现。(2)、针对于(1)中的龙格现象,采用分段线性插值和分段三次插值的两种算法进行改进。二、实验求解过程(代码见附录)(1)、利用多项式插值的方法对函数进行插值,分别取5、10个点进行插值进而构造出Runge现象,并呈现图像。(2)、分别采用分段线性插值和分段三次插值的两种算法对(1)中的Runge现象进行改进计算。并呈现图像作比较。三、实验结果(1)MATLAB编程实现Runge现象的呈现如下图:(2)分别采用分段线性插值和分段三次插值的两种

9、算法对(1)中的Runge现象进行改进计算。并呈现图像如下图:由图像中的关系可以看出,分段三次插值方法的误差相对低些。D题的实验过程针对问题试用Lagrange插值多项式求时的函数近似值。首先求出Lagrange插值基函数的值,然后输入表格的数据及插值点,最后计算插值点所对应的函数值。二、实验求解过程用Matlab编程可以求出插值点的函数值。Step 1:在M文件中编写程序,求出的字符长度;Step 2:判断m与n是否相等,如果不等,程序结束,反之继续编写;Step 3:用for循环求插值基函数的值;Step 4:在命令窗口中调用函数求出插值点对应的函数值;具体求解的流程图如下:三、实验求解结

10、果时的函数近似值分别为:0.8265 ,0.8268 ,0.8231。附 录A题实验程序clcclearx0 = 129 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162 117.5;y0 = 7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5;z0 = -4 8 6 8 6 8 8 9 9 8 8 9 4 9; %原始数据x0、y0、z0x,y=meshgrid(75:5:200,-50:150);z = griddata(x0,y0,z0,x,y,v4); %

11、散点数据的插值函数griddata()figure(1)plot(x0,y0,r*)figure(2)plot3(x0,y0,z0, %已知节点的三维散点图hold onsurf(x,y,z) %画出经插值的图形figure(3)c,h=contour(x,y,z); %画等高线clabel(c,h) %标明等高线的高程,高程为5的区域避免进入B题实验程序% 数据文件(data)的读取v d = xlsread(data.xlsx = v(2,:y = v(3,:n = length(x); % 读取文件中的点的个数% 最小二乘法syms a b y1 = a*n+b*sum(x)-sum(y

12、);y2 = a*sum(x)+b*sum(x.2)-sum(x.*y);a b = solve(y1,y2,a,b% 误差的计算y1 = a+b.*x;format longw1 = sum(abs(y1-y)/sum(y)% 指数模型的拟合% y=A*exp(B/x)% matlab内部函数的命令a1 = polyfit(x,y,1);y2 = a1(1).*x+a1(2);w2 = sum(abs(y2-y)/sum(y)C题实验程序function = Runge(a1,a2,n)% (1)构造龙格现象% n:构造n次的多项式插值x1 = a1:(a2-a1)/n:a2;y1 = 1.

13、/(1+x1.2);syms x y = 0;for i = 1:n+1 ss = 1; for j = 1:n+1 if j=i c = (x-x1(j)/(x1(i)-x1(j); ss = ss.*c; else continue end y = y+ss.*y1(i);end% 插值多项式x = -5:0.01:5;yy = eval(y);plot(x,yy)% 龙格现象图 End% c题问题主程序% Runge现象的呈现的程序a = 5 10;a1=-5;a2=5;length(a) Runge(a1,a2,a(i); hold onxlabel(Runge现象图% 分段线性插值(

14、a2-a1)/a(2): syms x s1 = ;a(2) b0 = (1-(x-x1(i)/(x1(i+1)-x1(i)*y1(i); b1 = (x-x1(i)/(x1(i+1)-x1(i)*y1(i+1); s11,i = b0+b1;% 分段三次插值y2 = -2.*(x1)./(1+x1.2).2);s3 = ; h = x1(i+1)-x1(i); c0 = (x-x1(i)/(x1(i+1)-x1(i)-1)2)*(2*(x-x1(i)/(x1(i+1)-x1(i)+1)*y1(i); c1 = (x-x1(i)/(x1(i+1)-x1(i)2*(-2*(x-x1(i)/(x1

15、(i+1)-x1(i)+3)*y1(i+1); c2 = (x-x1(i)/(x1(i+1)-x1(i)*(x-x1(i)/(x1(i+1)-x1(i)-1)2*(y2(i); c3 = (x-x1(i)/(x1(i+1)-x1(i)2*(x-x1(i)/(x1(i+1)-x1(i)-1)*y2(i+1); s31,i = c0+c1+c2+c3;% 画图figure x11 = a1:(a2-a1)/(a(2)*100):y11 = 1./(1+x11.2);% 分段线性插值图 x = x1(i):(a2-a1)/(10*a(2):x1(i+1); yy = eval(s11,i); plo

16、t(x,yy,r hold on plot(x11,y11)% axis(a1,a2,-0.5,2);分段线性图 红色:插值 蓝色:原值% 分段三次插值 yy = eval(s31,i);D题实验程序function y0,N = lagrange_eval(X,Y,x0)% lagrange插值% X,Y是一直的插值点的坐标点% x0是插值点% y0是lagrange多项式在x0处的值% N是lagrange插值函数的权系数m = length(X);N = zeros(m,1);y0 = 0;m N(i) = 1; if j = i N(i) = N(i)*(x0-X(j)/(X(i)-X(j); y0 = y0+Y(i)*N(i);% lagrange插值(D题) x = v(1,:y = v(2,:% 数据的读取x1 = 0.5626 0.5635 0.5645; %需插值的点y1 = ;length(x1) y0,N = lagrange_eval(x,y,x1(i); y1 = y1 y0;fprintf(lagrange插值函数的结果 y1 % lagrange插值函数的结果实验总结(由学生填写):

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2