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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数值分析课程设计.docx

1、数值分析课程设计 数值分析课程设计报告 设计题4、6、8、11、12 姓 名 学 号 院 系 数学与信息科学学院 专 业 信息与计算科学 年 级 2013 级 指导教师 2016年04月25日 目 录设计题四 1龙格现象实验 11.1问题分析与设计思路 1在计算方法中,有利用多项式对某一函数的近似逼近,这样,利用多项式就可以计算相应的函数值。例如,在事先不知道某一函数的具体形式的情况下,只能测量得知某一些分散的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一

2、个多项式函数。应用此函数就可以计算或者说预测其他日期的气温值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确,这就是龙格现象。 11.2程序清单 1(1)编写拉格朗日插值函数,将其存到当前路径的M文件中: 1function y=lagrange(x0,y0,x) 1n=length(x0);m=length(x); 1for i=1:m 1z=x(i); 1L=0.0; 1for j=1:n 1T=1.0; 1for k=1:n 1if k=j 1T=T*(z-x0(k)/(x0(j)-x0(k); 1end 1end 1L=T*y0(j)+L; 1end 1y(i)=L;

3、 1end 2(2)分别取不同的n值,作出相对应n值的插值多项式的曲线图。 2n=4时, 2x0=-5:10/4:5; 2y0=1./(1+x0.2); 2x=-5:0.1:5; 2y=lagrange(x0,y0,x); 2y1=1./(1+x.2); 2plot(x,y,-k) 2hold on 2plot(x,y,-.r) 2n=6时, 2x0=-5:10/6:5; 2y0=1./(1+x0.2); 2x=-5:0.1:5; 2y=lagrange(x0,y0,x); 2 y1=1./(1+x.2); 2 plot(x,y1,-k) 2 hold on 2 plot(x,y,-h) 2n

4、=8时, 2x0=-5:10/8:5; 2y0=1./(1+x0.2); 2x=-5:0.1:5; 2y=lagrange(x0,y0,x); 2y1=1./(1+x.2); 2plot(x,y1,-k) 2hold on 2plot(x,y,-g) 2n=10时, 2x0=-5:1:5; 2y0=1./(1+x0.2); 2x=-5:0.1:5; 2y=lagrange(x0,y0,x); 3y1=1./(1+x.2); 3plot(x,y1,-k) 3hold on 3plot(x,y,-m) 31.3 结果分析 31.4设计总结 3数值分析课程设计总结 22设计题四 龙格现象实验1.1问

5、题分析与设计思路在计算方法中,有利用多项式对某一函数的近似逼近,这样,利用多项式就可以计算相应的函数值。例如,在事先不知道某一函数的具体形式的情况下,只能测量得知某一些分散的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项式函数。应用此函数就可以计算或者说预测其他日期的气温值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确,这就是龙格现象。 对于函数进行拉格朗日插值, 取不同的节点数n,在区间-5,5上取等距间隔的节点为插值点,把和插

6、值多项式的曲线画在同一张图上进行比较。1.2程序清单(1)编写拉格朗日插值函数,将其存到当前路径的M文件中:function y=lagrange(x0,y0,x) n=length(x0);m=length(x);for i=1:m z=x(i); L=0.0; for j=1:n T=1.0; for k=1:n if k=j T=T*(z-x0(k)/(x0(j)-x0(k); end end L=T*y0(j)+L; end y(i)=L;end(2)分别取不同的n值,作出相对应n值的插值多项式的曲线图。n=4时,x0=-5:10/4:5;y0=1./(1+x0.2);x=-5:0.1

7、:5;y=lagrange(x0,y0,x);y1=1./(1+x.2);plot(x,y,-k)hold onplot(x,y,-.r)n=6时,x0=-5:10/6:5;y0=1./(1+x0.2);x=-5:0.1:5;y=lagrange(x0,y0,x); y1=1./(1+x.2); plot(x,y1,-k) hold on plot(x,y,-h)n=8时,x0=-5:10/8:5;y0=1./(1+x0.2);x=-5:0.1:5;y=lagrange(x0,y0,x);y1=1./(1+x.2);plot(x,y1,-k)hold onplot(x,y,-g)n=10时,x

8、0=-5:1:5;y0=1./(1+x0.2);x=-5:0.1:5;y=lagrange(x0,y0,x);y1=1./(1+x.2);plot(x,y1,-k)hold onplot(x,y,-m)1.3 结果分析1.4设计总结 上述现象及结果告诉我们,在进行数值计算时,并不是插值多项式的次数越高(即插值节点越多),插值效果越好,精度也不一定随次数的提高而升高,这种现象称为Runge现象。从数值计算上可解释为高次插值多项式的计算会带来舍入误差的增大,从而引起计算失真。因此,实际应用做插值时一般只用一次、二次最多用三次插值多项式。设计题六函数逼近Matlab实现及其应用2.1问题思路与设计思

9、路 在数值计算中经常要计算函数值,如计算机中计算基本初等函数及其他特殊函数;当函数只在有限点集上给定函数值,要在包含该点集的区间上用公式给出函数的简单表达式,这些都涉及在区间a,b上用简单函数逼近已知复杂函数的问题,这就是函数逼近问题。常用的有最佳平方逼近、最小二乘法。2.2程序清单(1)最佳平方逼近: legendre(N)函数:function p=legendre(N)syms t x;%定义符号变量t xfor n=1:N pp(n)=diff(t2-1)(n-1),n-1);%diff函数,求函数的n阶导数 Q(n)=2(n-1)*prod(1:n-1);%prod函数,计算数组元素

10、的连乘积endpp(1)=1;Q=sym(Q);p=pp*(inv(diag(Q);用M文件建立被逼近函数:function F=creat(x)n=length(x);F=x.*cos(x(1:n);区间变换函数程序:function f=convert(a,b,F)syms x t;s=2(b-a)*t+a+b);f=subs(F,x,s);变步长复化梯形求积公式:function I=tx(g)m=1;h=1-(-1);T=zeros(1,100);T(1)=h*(feval(g,-1)+feval(g,1)/2;i=1;while i100 m=2*m; h=h/2; s=0; for

11、 k=1:m/2 x=-1+h*(2*k-1); s=s+feval(g,x); end T(i+1)=T(i)/2+h*s; if abs(T(i+1)-T(i)6 if abs(t(k,4)-t(k-1,4)=15 disp(溢出); end3.3 结果分析复合辛普森公式在命令窗口输入:fun=inline(1./(1+x.2); xinpusen(fun,01,10)运行结果如下:高斯求解高斯在命令窗口输入:gaosi(inline(1./(1+x.2),0,1,2,3)运行结果如下:龙贝格求积公式运行结果如下:3.4 设计总结实验结果显示每一个算法都接近真实值,但龙贝格算法相比较复合辛

12、普森算法,高斯算法来说更加接近.对于代数精度来说,复合辛普森的代数精度为11,龙贝格代数精度为11,高斯代数精度为11。可见代数精度相同时,龙贝格的求积精度最小,所以相同条件下龙贝格求积公式最能接近准确值。这次课程设计,用MATLAB实验对数值积分进行了实现,用了3种不同的数值积分的方法,实现过程中发现了各种方法之间的区别和联系.并且在实验过程中,使自己对数值积分和MATLAB更加的熟悉.做到了学习和实践相联系。设计题十一 非线性方程的数值解法的Matlab实现及其应用 4.1 问题思路与设计思路非线性是实际问题中经常出现的,并且在科学与工程计算中的地位越来越重要,很多我们熟悉的线性模型都是在

13、一定条件下由非线性问题简化得到的。非线性问题一般不存在直接的求解公式,故没有直接方法求解,都要使用迭代法求解,迭代法要求先给出根的一个近似,若且,根据连续函数性质可知在内至少有一个实根,这时称为方程的有根区间,通常可通过逐次搜索法求得方程的有根区间。对于方程,如果是线性函数,则它的求根是容易的。牛顿法实质上是一种线性化方法,其基本思想是将非线性方程逐步归结为某种线性方程来求解。设已知方程有近似根,将函数在点展开,有,于是方程可近似地表示为:,这是个线性方程记其根为,则的计算公式为:,这就是牛顿法。二分法的基本思想是将方程根的区间平分为两个小区间,把有根的小区间再平分为两个更小的区间,进一步考察

14、根在哪个更小的区间内。如此继续下去,直到求出满足精度要求的近似值。4.2 程序清单迭代法:求方程的一个近似解,给定初值为,误差不超过。functionp,k,err,P=fixpt(f1021,p0,tol,max1)P(1) = p0; for k = 2:max1 P(k) = feval(f1021, P(k-1); k, err = abs(P(k) - P(k-1) p = P(k); if(errtol), break; end if k = max1 disp(maximum number of iterations exceeded); endendP=P;定义一个名为f102

15、1.m的函数文件function y = f1021(x) y = sin(x)/x;割线法:求方程的一个近似解,给定初值-1.5,-1.52,误差不超过。function p1, err, k, y = secant(f1042, p0, p1, delta, max1) p0, p1, feval(f1042, p0), feval(f1042,p1), k = 0; for k = 1:max1 p2 = p1 - feval(f1042,p1)*(p1-p0)/(feval(f1042,p1) - feval(f1042,p0); err = abs(p2-p1); p0 = p1;

16、p1 = p2; p1, err, k, y = feval(f1042, p1); if (err delta) | (y = 0), break, endend先定义一个名为f1042.m的函数文件function y = f1042(x) y = x3-x + 2;建立一个主程序prog1042.mclcclearsecant(f1042,-1.5,-1.52,10(-6),11)牛顿法:求解方程的一个近似解,给定初值为1.2,误差不超过。function p1,err,k,y=newton(f1041,df1041,p0,delta,max1) p0, feval(f1041,p0)

17、for k=1:max1 p1=p0-feval(f1041,p0)/feval(df1041,p0); err=abs(p1-p0); p0=p1; p1,err,k,y=feval(f1041, p1) if (err 0 disp(该方程在【a,b】上无解);elseif f1=0 root=a;elseif f2=0 root=b;else a0=a; b0=b; A=; while abs(b0-a0)/2)=esp half=(a0+b0)/2; fa=subs(f,a0); fb=subs(f,b0); fhalf=subs(f,half); if fhalf=0 root=ha

18、lf; break; elseif fa*fhalf0 b0=half; else a0=half; end A=A,half; end root=(b0+a0)/2;endrootA4.3 结果分析迭代法:在命令窗口输入:clcclear allfixpt(f1021,0.5,10(-5),20)运行结果如下:k = 2err =0.4589k = 3err = 0.1052k = 4err = 0.0292k =5err = 0.0078k = 6err = 0.0021k = 7err = 5.7408e-004k = 8err = 1.5525e-004k = 9err = 4.1975e-005k = 10err =1.1350e-005k =11err =3.0688e-006ans =0.8767割线法:在命令窗口输入:clcclear secant(f1042,-1.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1