计算方法上机实验报告_第1页
计算方法上机实验报告_第2页
计算方法上机实验报告_第3页
计算方法上机实验报告_第4页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算方法上机实验报告 计算方法 上机 实验报告 班 级:xxxx 小组成员: :xxxx xxxxxx xxxxx xxxxx 任课教 师:xxx 二一八年五月二十五日 前言 通过进行多次得上机实验,我们结合课本上得内容以及老师对我们得指导,能够较为熟练地掌握ewton 迭代法、aci 迭代法、gaussel 迭代法、ewon 插值法、gane 插值法与as 求积公式等六种算法得原理与使用方法,并参考课本例题进行了 matab 程序得编写。 以下为本次上机实验报告,按照实验内容共分为六部分. 实验 一: 一 、实验 名称 及题目: : new n on 迭代法 例 2、7(p3):应用 new

2、on 迭代法求 在 附近得数值解 ,并使其满足 、 二、 解题 思路: 设就是得根,选取作为初始近似值,过点做曲线得切线,得方程为,求出与轴交点得横坐标,称为得一次近似值,过点做曲线得切线,求该切线与轴得横坐标称为得二次近似值,重复以上过程,得得近似值序列,把称为得次近似值,这种求解方法就就是牛顿迭代法。 三 、b matlab 程序 代码: f f nc ion newt n_it r r io (x ,tol ) syms z % % 定义自变量 f f rma l l n n 定义精度 = = *z z z- -z z 1; f1=diff(f ); 求导 y=su s( , ,x0);

3、 y1=s bs(f , , , x0) ;% % 向函数中代值 x1=x0 y/y1; k=1 ; w w il ( ( 1 1 x0) = = ol x x =x1; y=sub ( f,z, 0) ; y1=sub ( ( 1, , , 0); x1 x0- - /y1 ; k=k+1; nd =dou le (x x ) ) 四 、 运行 结果: 实验二: : 一 、 实验名称 及题目: jac b b 迭代法 例、7(p74):试利用 jacobi 迭代公式求解方程组 要求数值解 为方程组得精确解、 二、 解题思路 : 首先将方程组中得系数矩阵分解成三部分,即:,为对角阵,为下三角矩

4、阵,为上三角矩阵。之后确定迭代格式,( , 即迭代次数),称为迭代矩阵。最后选取初始迭代向量,开始逐次迭代。最后验证精度。(迭代阵:。) 雅克比迭代法得优点明显,计算公式简单,每迭代一次只需计算一次矩阵与向量得乘法,且计算过程中原始矩阵 a 始终不变,比较容易并行计算.然而这种迭代方式收敛速度较慢,而且占据得存储空间较大。 三、 b atlab 程序代码: : functio jacob (a a , b,x0,ep ,) ) = = diag(diag () );% % 求得对角矩阵 l = t t l l ( a,- - 1);% %求 求 a a 得下三角矩阵 u u = - - r r

5、 ( ( , , ); 求 a a 得上三角矩阵 b = ( l+ ) ) ; f ; x = x x +f ; n = 1;% % 迭代次数 ile o o ( ( x1) =eps s x = b x+f ; n = n+1; end format lo g g n n jingdu= orm(x 1) 四 、 运行 结果: 实验三: : 一 、 实验 名称及题目: : gauss seide 迭代法 例、(75):试利用 gasseidl 迭代公式求解方程 组 , 并 使 其 数 值 解为方程组得精确解、 二、 解题思路: : gausside迭代法与 jaobi 迭代法思路相近,首先将

6、方程组中得系数矩阵分解成三部分,即:,为对角阵,为下三角矩阵,为上三角矩阵 . 之后确定迭代格式,,( , 即迭代次数),称为迭代矩阵。最后选取初始迭代向量,开始逐次迭代。最后验证精度。(迭代阵:.) gaussseide迭代法与 jcobi 迭代法相比速度更快,但不全如此。有例子表明:gausseidel 迭代法收敛时,b迭代法可能不收敛;而aob迭代法收敛时,gassseidl 迭代法也可能不收敛。 三、a a l l 程序代码: fu ctio g g uss_ e e del( , b, 0 0 , eps,x1 ) d = ag(d ( ( )) ) ;% %求 求 a a 得对角矩

7、阵 l l = = ri ( ( , ); ; 求 a a 得下三角矩阵 u u = triu ( a,1); 求 a a 得上三角矩阵 b = (d ) ) u; f f = (d d ) ) ; = = b b x0+ ; ; n = 1;% % 迭代次数 hil norm(x1- - x)=eps x = b*x+f; n = n+1; nd format lon n n x x j j ngdu=norm(x1 x) 四、 运行 结果: : 实验 四: : 一 、 实验 名称及题目: : lagra ge 插值法 例 、 1(p88): 给 定 函 数 及 插 值 节 点、试构造 lg

8、ange 插值多项式,给出其误差估计,并由此计算 及其误差、 二、 解题思路: : 一般来说,如果我们有个点,各互不相同。那么应用拉格朗日插值公式所得到得拉格朗日插值多项式为:,其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为:。 三、 matl b b 程序代码: : f f nctio y y lagrange ( 0,x) n=lengt ( x0);% % 向量长度 s= ; or k=1:nk %k 从 从 1 1 到 到 n n 得循环 1 1 、 0; for j= :n if j j =k " = '不等于得意思 =p* (x x 0(j)/ ( x

9、0( )- - x0(j); nd en 0= ( ( )*(1+cos (x x (k) ); ; s= 0+ ; ; end format lon ch =a s( ( ( +c s(x )) )- - s) 四、 运行结果 : 、 五、 lagran e e插值图像绘制 lagrang插值图像算法 xlispace(,1002,00); s=linsae(0,100,20); 00;i/8;pi4;3*pi/;pi/2; =length(x0); s=0; fr k1: =1、0; for j=1:n f j=k p、*(x-x(j))/(x0(k)x0()); end ed y0=x0

10、(k)*(+cos(x())); s=py+s; lo(,s,r"); grid on; itle("lage) xla(x),ylab("y"); axis ormal; 实验 五: : 一 、 实验 名称及题目: : ne on 插值法 例 、 3 ( 96) : 已 知 , 试 取 插 值 节 点,构造 4 次 newtn 插值多项式,由此计算 得逼近值,并指出其绝对误差、 二、 解题思路: : 将 拉 格 朗 日 插 值 公 式 中 得 改 写成: ) ).( ( . ) )( ( ) ( ) (1 0 1 0 2 0 1 0 - - + + -

11、 - = - + =n n nx x x x a x x x x a x x a a x n ,其中,为待 定 定 系 数 . 又 , 。 将 带 入 可得: ) ).( )( ( ,., , . ) ( , ) ( ) (1 1 0 1 0 0 1 0 0 - - - + + - + =n nx x x x x x x x x f x x x x f x f x f . 三、 matl b b 程序代码: : function newt _interpol tion(x ,) ) f f m m t t lo g g n n l l gt ( ( 0); syms =sq t t ( 1+c

12、 h(z ) 2); a(1) sub (f,z,x (1) ); ; or k=1 : y0=subs(f ,z z ,x x (k )) ) ; 1=subs ( f, , x0(k+ ) ) ); ; (k,1 ) =(y1- -y y )/( 0(k 1 1 )x x (k k ); ; 一阶差商 nd f f r r j=2: - -1 1 fo k k 1 1 :n n j j d(k, ) =(d ( k+1 ,j j ) ) d(k, 1)/(x( ( +j )x x ( ( ) );% % 二阶差商及以上 en d d d d uble( ) ) for =2: a(j)=d

13、(1,j ); end b b (1 1 ) =1 ;c c ( 1)= (1); f f r r j=2 :n n b b () =(x- - (j j- - 1) )、 *b (j j ); ; c( )=a(j) 、 *b ( j) ; e e d d n n =dou le(su (c c ) w w cha=d bl (abs(np- - su ( ,z ,) ) )) ) 四、运行结果: 五、newo插值 图 像绘制 实验 六: : 一 、 实验 名称及题目: gauss 求积公式 例 5、(p140):试构造 gass 型求积公式 , 并由此计算积分 、 二、 解题思路: : 设高斯-勒让德求积公式就是:,依次代入,解得.利用换元公式变换原式得积分上下限,在套用高斯勒让德求积公式求得积分. 三、b matlab 程序代码: : u u ct o o aus ( a,b ) sy s t t f=sqrt (t t ) (1 t)2; p p - -s s rt ( 3/5) 0 sqrt( /5) ; a= 9 8/9 5 9 9 ; s= ; or i i 1:3; x=p(i) ; y=s bs ( f,t, (- - )* /2+ (b b ) /2 ); ; s=s a( )*y; form t ong s= oub e( (a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论