matlab线性方程组求解实验报告

上传人:飞*** 文档编号:11913120 上传时间:2017-10-15 格式:DOCX 页数:8 大小:103.67KB
返回 下载 相关 举报
matlab线性方程组求解实验报告_第1页
第1页 / 共8页
matlab线性方程组求解实验报告_第2页
第2页 / 共8页
matlab线性方程组求解实验报告_第3页
第3页 / 共8页
matlab线性方程组求解实验报告_第4页
第4页 / 共8页
matlab线性方程组求解实验报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《matlab线性方程组求解实验报告》由会员分享,可在线阅读,更多相关《matlab线性方程组求解实验报告(8页珍藏版)》请在金锄头文库上搜索。

1、湖南大学电气与信息工程学院 数值计算课程 上机实验报告姓名:林国斌 班级:电自八班 学号:20110701805日期:2013-5-1指导老师:路晓庆本次实验题号:第 2 次实验一. 实验目的学习使用 Guass 消去法和迭代法求解线性方程组 二. 实验内容1.矩阵的运算2.线性方程组数值求解用 Guass 消去法和迭代法求解下列线性方程组:31+22+3=3921+32+3=341+22+33=26三. 算法介绍或方法基础3.1 Jacobi迭 代 公 式上 上 上 上 AX=b , 上 上 上 上 上 上 上 上 上 上 上Jacobi上 上 上 上 上 上11,0(1,2,)(),nij

2、iij niiijjixbainxi 上 上 上 上 上 上 上 上 Jacobi 上 上 上 上 :(1) 1,()(1,2,)nk ki i ijjjixbxina3.2 高 斯 -塞 德 尔 迭 代 法 (AX=b)(1)(1)(1)2,kkkixx()()()121,kki上 上 上 上 Jacobi上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上上 上 1(1) (1)1( )(1,2,)i nk kki ij ijj jiixbaxaxina 上 上 上 上 上 上 上 上 上 上 上 上 上 ,上 上 上 上 上 上 上 上 上 上 上 上上 上 上 上

3、 上 上 上 上 上 上 上上 上 上 上 Gauss-Seidel 上 上 上 .四. 程序1.矩阵的乘法 a=1 2;3 4; b=5 5;7 8; a2*b2.矩阵的除法 a=1 2 3;4 5 6;7 8 9; b=1 0 0;0 2 0;0 0 3; ab a/b3.使用冒号选出指定的元素 a=1 2 3;4 5 6;7 8 9; a(1:2,3) a(2:3,:)4. 线性方程组数值求解(1)Guass 消去法clear;clc;%这个程序可适用于求解任何符合条件 n 元一次方程组A=input(请输入系数方阵 A=);m,n=size(A);while m=n | det(A)=

4、0A=input(请输入系数方阵且 det(A)=0 A=);endB=input(请输入列向量 B=);c=A B;disp(合并后的增广矩阵为);cdisp(开始进行列主元消元法);for i=1:m-1for k=i+1:mif c(k,i)c(i,i)|-c(k,i)c(i,i)b=c(k,:);c(k,:)=c(i,:);c(i,:)=b;endendcfor j=i+1:mc(j,:)=c(j,:)-c(j,i)/c(i,i)*c(i,:);endenddisp(消元后的矩阵 C);cA=c(:,1:m)B=c(:,m+1)x=;sum=0;x(m)=B(m)/A(m,m);dis

5、p(开始回代);for i=m-1:-1:1for j=i+1:msum=sum+A(i,j)*x(j);endx(i)=(B(i)-sum)/A(i,i);sum=0;enddisp(方程的解 x1 x2 x3 .xm)x(2)迭代法clear;clc;% A=-0.1 -0.2;-0.1 -0.2;-0.2 -0.2;%课本上 jacobi 迭代法 P41 的例子% B=0.72;0.83;0.84;A=2/3 1/3;2/3 1/3;1/3 2/3;%第二次试验的方程组B=39/3;34/3;26/3;c=;d=;e=;x=zeros(1,3);y=zeros(1,3);y(1)=B(1

6、)-A(1,1)*x(2)-A(1,2)*x(3);y(2)=B(2)-A(2,1)*x(1)-A(2,2)*x(3);y(3)=B(3)-A(3,1)*x(1)-A(3,2)*x(2);c=c;y(1);d=d;y(2);e=e;y(3);while i0.001&abs(x(2)-y(2)0.001&abs(x(3)-y(3)0.001x=y;%xy(1)=B(1)-A(1,1)*x(2)-A(1,2)*x(3);c=c;y(1);y(2)=B(2)-A(2,1)*x(1)-A(2,2)*x(3);d=d;y(2);y(3)=B(3)-A(3,1)*x(1)-A(3,2)*x(2);e=e

7、;y(3);i=i+1;endplot(c,-r);hold on;plot(d,-k);plot(e,-b);hold offlegend(x1,x2,x3,Location,NorthWest);五. 实验结果1.ans =105 115229 2512. Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.警告:矩阵接近奇异,即 det(Matrix)接近 0,解方程组得到的结果可能不正确。RCOND 是条件数的倒数,RCOND 越小,其

8、越接近奇异!ans = 1.0e+016 *-0.45035996273705 1.80143985094820 -1.351079888211150.90071992547410 -3.60287970189640 2.70215977642230-0.45035996273705 1.80143985094820 -1.35107988821115ans =1.00000000000000 1.00000000000000 1.000000000000004.00000000000000 2.50000000000000 2.000000000000007.00000000000000 4

9、.00000000000000 3.000000000000003.ans =36ans =4 5 67 8 94(1)Guass 消去法请输入系数方阵 A=3 2 1;2 3 1;1 2 3请输入列向量 B=39;34;26合并后的增广矩阵为c =3 2 1 392 3 1 341 2 3 26开始进行列主元消元法c = 3 2 1 392 3 1 341 2 3 26c =3.00000000000000 2.00000000000000 1.00000000000000 39.000000000000000 1.66666666666667 0.33333333333333 8.0000

10、00000000000 1.33333333333333 2.66666666666667 13.00000000000000消元后的矩阵 Cc =3.00000000000000 2.00000000000000 1.00000000000000 39.000000000000000 1.66666666666667 0.33333333333333 8.000000000000000 0 2.40000000000000 6.60000000000000A =3.00000000000000 2.00000000000000 1.000000000000000 1.666666666666

11、67 0.333333333333330 0 2.40000000000000B =39.000000000000008.000000000000006.60000000000000开始回代方程的解 x1 x2 x3 .xmx =9.25000000000000 4.25000000000000 2.75000000000000(2)迭代法x1 x2 x3 的结果如下图所示六. 结果分析与解释由于采用迭代法的前提是迭代公式 x(k+1)=Bx(k)+f 是收敛的,也就是矩阵B 的谱半径应该小于 1,而事实上此实验题目的矩阵 B 的谱半径=1,故第二次实验课的题目采用迭代法是不收敛的。但是,采用 GaussSeidel 迭代法时的矩阵 B 的谱半径小于 1,是收敛的。因此收敛的条件是矩阵 B 的谱半径小于 1.

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

最新文档


当前位置:首页 > 研究报告 > 综合/其它

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