数值计算引论报告

上传人:QQ15****706 文档编号:52443968 上传时间:2018-08-21 格式:DOCX 页数:15 大小:328.03KB
返回 下载 相关 举报
数值计算引论报告_第1页
第1页 / 共15页
数值计算引论报告_第2页
第2页 / 共15页
数值计算引论报告_第3页
第3页 / 共15页
数值计算引论报告_第4页
第4页 / 共15页
数值计算引论报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数值计算引论报告》由会员分享,可在线阅读,更多相关《数值计算引论报告(15页珍藏版)》请在金锄头文库上搜索。

1、 数值计算引论报告数值计算引论报告课程名称:课程名称: 数值计算引论数值计算引论 学学 院院 机电工程学院机电工程学院 专专 业业 机械设计制造及其自动化机械设计制造及其自动化 (机电工程方向)(机电工程方向) 年级班别年级班别 20142014 级机电(级机电(4 4)班)班 学学 号号 姓姓 名名 2016 年年 11 月月1目目 录录一、Jacobi 迭代法求解线性方程组 1.1、问题描述 1.2、程序 1.3、算例 1.4、迭代结果及分析 二、分段 Lagrange 多项式插值程序 2.1、问题描述 2.2.程序 2.3、算例 2.4、计算结果分析 三、复化辛普森积分的程序 3.1、问

2、题描述 3.2、程序 3.3、算例 3.4、计算结果分析 四、Euler 方法.隐式 Euler 方法求常微分方程初始值问题程序 4.1、问题描述 4.2、程序 4.3、算例 4.4、计算结果分析 五、迭代法求非线性方程方法程序 5.1、问题描述 5.2、程序 5.3、算例 5.4、计算结果分析 2数值计算试卷数值计算试卷一、一、编写雅克比迭代法求解线性方程组的程序,要求附加有算例。编写雅克比迭代法求解线性方程组的程序,要求附加有算例。解:解: 1.1、问题描述:、问题描述:对 Ax=b 首先将方程组中的系数矩阵 A 分解成三部分,即: A = L+D+U,其中 D 为对角阵,L 为下三角矩阵

3、,U 为上三角矩阵。之后确定迭代格式, X(k+1) = B*X(k) +f ,(这里表示的是上标,括号内数字即迭代次数),其中 B 称为迭代 矩阵,雅克比迭代法中一般记为 J。(k = 0,1,) 再选取初始迭代向量 X(0),开始逐次代 这样就得到所谓解方程组的雅克比迭代法。 1.2、程序:、程序: function x,n=Jacobi(A,b,x0,eps,t)%采用 Jacobi 迭代法求线性方程组 Ax=b 的解 %A 为线性方程组的系数矩阵 %b 为线性方程组的常数向量 %x0 为迭代初始向量 %eps 为解的精度控制 %t 为迭代步数控制 %x 为线性方程组的解 %n 为求出所

4、需精度的解实际的迭代步数 if nargin=3;eps=0.5*10e-6;m=50;%迭代次数不超过 50 elseif nargin=epsx0=x;x=B*x0+f3n=n+1;if(n=m)disp(Warning:迭代次数太多,可能不收敛!);return;end;1.3、算例:、算例:求解方程组。 .361236,33114,20238321321321xxxxxxxxx运行程序 1.4、迭代结果、迭代结果: 在 MATLAB 中输入如下命令: A=8 -3 2;4 11 -1;6 3 12;b=20 33 36;x0=zeros(3,1);x,n=Jacobi(A,b,x0)

5、迭代过程的 x 的值的情况如下: X=000012.5000000000000003.0000000000000003.00000000000000022.8750000000000002.3636363636363631.00000000000000033.1363636363636362.0454545454545450.97159090909090943.0241477272727281.9478305785123970.92045454545454553.0003228305785121.9839876033057851.00096849173553762.99375322830578

6、51.9999706517655901.00384168388429872.9990285734410222.0026207973328331.00313072290571083.0002001182733842.0006378571946930.99983051394628193.0002815679614401.999911821895704 0.999740476564634103.0000318140697301.9998740186108070.999881260545354112.9999824418427141.9999776367514941.00001558831243312

7、2.9999877167037022.0000078019037801.000014369890770132.9999993332412252.0000057730069061.000004191172204143.0000011170845392.0000006234733910.999998890127661153.0000005112706061.9999994928899550.999999285589383迭代次数 n=15,迭代 15 次使得迭代序列逐次收敛于方程组的解。 结果分析: 由运行结果可以看出最后的迭代结果为:Tx)55893830.99999928 28899551.9

8、9999949 12706063.00000051(又原线性方程组的准确解为,达到精度10-6,可见,雅可比迭代法能以较少Tx)1,2,3(4的迭代次数,取得满足任意精度的近似解,是收敛的。二、二、编写分段二次编写分段二次 Lagrange 多项式插值的程序,要求附有算例。多项式插值的程序,要求附有算例。2.1、问题描述:、问题描述:Lagrange 插值多项式的表达式:。1, 2 , 1,)()()(, )()(1111nixxxxxlxlyxLnijjjij iniii其中被称为插值基函数,实际上是一个 n 次多项式。的这种表示)(xli)(xli具有较好的对称性。公式具有两大优点:(1)

9、求插值多项式,不需要求解 线性方程组,当已知数据点较多时,此公式更能显示出优越性。(2)函数 值可以用符号形式表示,数据点未确定的纵坐标可用多项式表示。 2.2.程序:程序: function f f0 = Language(x,y,x0)syms t;if(length(x) = length(y)n = length(x); elsedisp(x 和 y 的维数不相等!);return;end %检错f = 0.0;for(i = 1:n)l = y(i); for(j = 1:i-1)l = l*(t-x(j)/(x(i)-x(j); end;for(j = i+1:n)l = l*(t

10、-x(j)/(x(i)-x(j); %计算拉格朗日基函数end;f = f + l; %计算拉格朗日插值函数 simplify(f); %化简if(i=n)if(nargin = 3)f0 = subs(f,t,x0); %计算插值点的函数值elsef0 = collect(f); %将插值多项式展开f0 = vpa(f,6); %将插值多项式的系数化成 6 位精度的小数endend5end2.3、算例:、算例:对 在节点 0,0.2,0.4,0.6,0.8,1.0 上进行插值,求 x=0.7 处的值,绘出被插值函数与插值函数的图形,予以对比。 函数表如下: x00.20.40.60.81.0

11、 y1.001.221.491.822.222.71输入为: x=0:0.2:1; y=1 1.22 1.49 1.82 2.22 2.71; f f0=Language(x,y,0.7)2.4、计算结果:、计算结果: f =(11375*t*(t - 1)*(t - 1/5)*(t - 2/5)*(t - 4/5)/24 - (4625*t*(t - 1)*(t - 1/5)*(t - 2/5)*(t - 3/5)/16 - (18625*t*(t - 1)*(t - 1/5)*(t - 3/5)*(t - 4/5)/48 + (7625*t*(t - 1)*(t - 2/5)*(t - 3/5)*(t - 4/5)/48 +

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号