高斯列主元消元法解方程组.DOC

上传人:国*** 文档编号:1149784 上传时间:2018-12-14 格式:DOC 页数:9 大小:111.50KB
下载 相关 举报
高斯列主元消元法解方程组.DOC_第1页
第1页 / 共9页
高斯列主元消元法解方程组.DOC_第2页
第2页 / 共9页
高斯列主元消元法解方程组.DOC_第3页
第3页 / 共9页
高斯列主元消元法解方程组.DOC_第4页
第4页 / 共9页
高斯列主元消元法解方程组.DOC_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、实验一、高斯列主元消元法解方程组题目:求解: , , ,n=4;6;50;100;HnX=b1123n4352111nn2n, 3b求解精度为 ,并验证: 及 / 随着 n 的逐渐增大,你会发现什么?810*HX*x一、实验目的:、学习使用 matlab 编写数值计算程序。、了解高斯列主元消元法解方程组原理和编程方法。、根据高斯列主元消元法解方程组原理编写 matlab 程序,并运行得出结果。二、实验原理:然 后 进 行 消 元 , 得 行 ,行 和 第交 换 第第 一 步 : 选 111, , max1 iinii)2(1,)()2( )(,)()( 112)()2(, nnnaabA .,

2、 )3( 22)(,x2bAiiii然 后 进 行 消 元 , 得 行 ,行 和 第交 换 第第 二 步 : 选 ., )(,m次 消 元然 后 进 行 第 行 ,行 和 第交 换 第步 : 选第 k ikaakkniki如此至多经过 n-1 步,就得到与之同解的上三角形方程组的增广矩阵,再用回代过程即可得方程组的解.温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波 20091121 选修三、实验内容与步骤:、实验内容:依照实验原理编写高斯列主元消元法解方程 组的程序。、实验步骤:首先,在 电脑上安装 matlab,然后,启动 matlab,

3、新建一个 gauss.m 文件。实验程序如下:程序代码 程序代码说明function x = gauss(A,b) n,n = size(A); x = zeros(n,1); Aug = A,b;for k = 1:n-1 piv,r=max(abs(Aug(k:n,k);r = r + k - 1;if rk temp=Aug(k,:); Aug(k,:)=Aug(r,:); Aug(r,:)=temp; endif Aug(k,k)=0, error(对角元出现 0),endfor p = k+1:n Aug(p,:)=Aug(p,:)-Aug(k,:)* use the functio

4、n。 求矩阵 A 的大小。 初始化 x 为 0。 增广矩阵 for 循环 找列主元所在子矩阵的行 r 列主元所在大矩阵的行 矩阵为 0,报错温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波 20091121 选修Aug(p,k)/Aug(k,k); end endA = Aug(:,1:n); b = Aug(:,n+1); x(n) = b(n)/A(n,n); for k = n-1:-1:1 x(k)=b(k); for p=n:-1:k+1 x(k) = x(k)-A(k,p)*x(p); end x(k)=x(k)/A(k,k);

5、end 把增广矩阵消元成为上三角 解上三角方程组 求得 x 值四、实验数据及结果:、当 n 为 4 时,在 command 窗口输入如下代码:format longn=4;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:n;x=gauss(A,b);fprintf(%12.8f ,x)实验结果为:-64.00000000 900.00000000 -2520.00000000 1820.000000002、当 n 为 6 时,在 command 窗口输入如下代码:温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与

6、技术专业 陈波 20091121 选修format longn=6;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:n;x=gauss(A,b);fprintf(%12.8f ,x)实验结果为:-216.00000004 7350.00000120 -57120.00000827 166320.00002178 -201600.00002425 85932.00000962 3、当 n 为 50 时,在 command 窗口输入如下代码:format longn=50;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);end

7、endb=1:n;x=gauss(A,b);fprintf(%12.8f ,x)实验结果为:23964.74834020 -4122991.37806186 176597502.11690632 -3260288682.19727710 31898227709.80876200 -181566275672.69705000 619956768219.91504000 -1230092760464.93480000 1193508577123.06670000 -71714652666.11485300 -587044042244.59863000 -454093769462.97290000

8、1744941129911.71780000 -2715153157131.34130000 2706193814657.00730000 758555481068.28345000 -2729174782832.09330000 -650678553386.91565000 770544482197.08948000 661071297466.38940000 3114329102228.31640000 -2419453655729.64110000 -2498342518894.92290000 1991167370388.64180000 806469536595.88586000 -

9、3357159715176.25440000 3434745294165.19480000 -1115456797533.65920000 835226816241.17993000 1614362560020.15380000 -2300534244207.34180000 781205861296.42358000 -3724002810480.48780000 -101978267755.29590000 3815588397071.54350000 -269576755745.41956000 -2354847317920.94780000 5144417865217.22850000

10、 1355869718979.75980000 1213622862842.97950000 -11349162850658.63300000 367430197567.42474000 2362009479539.30520000 712955508308.93835000 5794833430082.82320000 -2649289143449.39160000 2040834706833.95900000 -2941986228491.25980000 -2402163300368.77440000 2234821162570.22750000 温州大学计算机科学与工程学院 计算方法上

11、机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波 20091121 选修4、当 n 为 100 时,在 command 窗口输入如下代码:format longn=100;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:n;x=gauss(A,b);fprintf(%12.8f ,x)实验结果为:-165617.15326899 28442933.35865056 -1198435487.04943940 21486760244.19754400 -201373104442.32770000 1078082536048.55210000

12、 -3359286903640.50000000 5709542237195.77050000 -3874331687877.81350000 -829892270872.19580000 -1967322218199.68040000 7982819330278.76070000 1213029690156.88990000 -10735970375754.32600000 762638472140.30078000 428060429909.99542000 9446910367399.21870000 -5444790674141.98340000 7943864825269.35640

13、000 -12444580627249.04700000 3882692758366.57230000 -5987397744766.25100000 5662577299892.74220000 5126170554051.82620000 -9610047420412.31450000 12856271352701.56800000 -9589605026775.01560000 -2444078934897.28960000 8975946626070.38090000 -2005484489157.63130000 3675207098095.15430000 -11796755688

14、486.14300000 2635749164788.96780000 -1391667139033.63600000 -4925361880835.21780000 7760201046620.72560000 3177048652010.23830000 -1660111689637.16970000 17106703091341.60700000 -4183367998776.74900000 -9050281636210.44730000 -3443653770672.85890000 7613626827967.19820000 -27292079128178.34400000 -3

15、324815769929.91210000 23300803936314.81600000 -11356310288948.86700000 10923789711648.75800000 -13401088615825.09200000 17970247866003.00000000 -9679755802589.19730000 16174889741901.94500000 -10909579864796.38500000 7545679893084.42290000 8996723425570.98830000 12709789045568.57600000 -170856797554

16、78.76000000 1179611746389.40920000 -13066251601848.24800000 3787285770590.26510000 -18439877686630.50400000 20877875192069.46900000 -25631762378766.18700000 -19193678497456.85500000 -2221136355160.68900000 -3315613437010.98930000 18975925971181.35500000 19739707253794.62900000 1881838919237.33400000

17、 11454893085140.30700000 30801635220079.61700000 7161442584152.82910000 -16074251464421.46300000 -7709130621321.95120000 1335376684881.13500000 -393512297638.43860000 -8733213053985.36910000 -35995689236329.05500000 15407926775193.27700000 -609162661193.12512000 -4400619113085.39650000 346032863613.

18、36517000 -18611757295820.54300000 -1040193463248.05440000 10041692625877.11900000 -14815863623738.03500000 20088901435797.52000000 3249116745776.06540000 11755355855202.72500000 28926235452943.75400000 27962180449728.39800000 -23174735232056.87500000 -20208579671753.25000000 -10317216154286.07800000

19、 -29884207777479.69100000 25102669265480.31200000 温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波 20091121 选修-12108818003588.86900000 7425093906782.79200000 5388736564258.16210000 371024307363.73108000 5、当 n 为 4 时,在 command 窗口输入如下代码:format longn=4;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:n;

20、x=gauss(A,b);y=b-A*x; s=0;for i=1:length(4)s=s+y(i)*y(i);endt=sqrt(s)实验结果为:t=0在 command 窗口输入如下代码:s=0;for i=1:4s=s+x(i)*x(i);endk=sqrt(s);z=t/k实验结果为:z=06、当 n 为 6 时,在 command 窗口输入如下代码:format longn=6;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:n;温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波 200

21、91121 选修x=gauss (A,b);y=b-A*x; s=0;for i=1:length(y)s=s+y(i)*y(i);endt=sqrt(s)实验结果为:t = 2.033691978340166e-012在 command 窗口输入如下代码:s=0;for i=1:6s=s+x(i)*x(i);endk=sqrt(s);z=t/k实验结果为:z= 7.235277760210783e-0187、当 n 为 50 时,在 command 窗口输入如下代码:format longn=50;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:

22、n;x=gauss(A,b);y=b-A*x; s=0;for i=1:length(y)s=s+y(i)*y(i);endt=sqrt(s)实验结果为:温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波 20091121 选修t = 7.921957343932526e-005command 窗口输入如下代码:s=0;for i=1:50s=s+x(i)*x(i);endk=sqrt(s);z=t/k实验结果为:z=1.289588983003219e-0178、当 n 为 100 时,在 command 窗口输入如下代码:format lo

23、ngn=100;for a=1:n;for c=1:n;A(a,c)=1/(a+c-1);endendb=1:n;x=gauss(A,b);y=b-A*x; s=0;for i=1:length(y)s=s+y(i)*y(i);endt=sqrt(s)实验结果为:0.00313974381831在 command 窗口输入如下代码:s=0;for i=1:100s=s+x(i)*x(i);endk=sqrt(s);z=t/k实验结果为:1.114005164260522e-017五、实验结论:温州大学计算机科学与工程学院 计算方法上机实验报告物理与电子信息工程学院 计算机科学与技术专业 陈波

24、20091121 选修当 n=4;6;50;100 时, =0、2.033691978340166e-012 、7.921957343932526e-*HnXb005、0.00313974381831/ =0、7.235277760210783e-018、1.289588983003219e-*x017、1.114005164260522e-017我们会发现 / 随着 n 的增大而增大*HnXb实验总结和感悟:通过使用 Matlab 编写数值计算的程序,让我加深了对数学编程软件的使用,同时也使我对各种算法的原理有了更深的一层理解。在这次实验中同时也学会了 MathType 这个软件的使用,它能帮助我们写出那些复杂的公式。在本次实验中,很容易写错代码,因为编程技术还不够熟练,所以在使用数学指令上还不够全面,因此常翻阅书籍找指令代码,这在以后的实验中是应该加强训练的。这学期的数值分析上机实验教会了我在遇到自己不熟悉的知识时,一定要多上机操作,并多查阅相关的书籍,虽然我不能确定我已经把这门课学的很精通,但这门课的学习经历教会了我很多。教师评语指导教师: 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。