计算方法 课内实验 解线性方程组的直接方法和迭代法
更新时间:2023-11-22 11:33:01 阅读量: 教育文库 文档下载
- 计算方法推荐度:
- 相关推荐
《计算方法》课内实验报告
学生姓名: 及 学 号: 学 院: 班 级: 课程名称: 实验题目: 指导教师 姓名及职称:
张学阳 理学院 数学101 计算方法
解线性方程组的直接方法和迭代法
宋云飞 讲 师 朱秀丽 讲 师 尚宝欣 讲 师
1009300132
2012年12月10日
目 录
一、实验题目........................................................................................ - 1 - 二、实验目的........................................................................................ - 1 - 三、实验内容........................................................................................ - 1 - 四、实验结果........................................................................................ - 2 - 五、实验体会或遇到问题 ................................................................... - 8 -
一、实验题目
解线性方程组的直接方法和迭代法
二、实验目的
1.熟悉Matlab编写及运行数值计算程序的方法。
2.进一步理解求解线性方程组的直接方法和迭代法基础理论。 3.进一步掌握应用不同的方法求解线性方程组的收敛速度及误差分析。
三、实验内容
1.用LU分解及列主元高斯消去法解线性方程组
?701??x1??8?10???32.09999692??x2??5.9000?01??????. ??15?1??x3??5?5???????102??x4??1?2?输出Ax?b中系数A?LU分解法的矩阵L及U,解向量x及detA;列主元法的行交换次序,解向量x及detA;比较两种方法所得的结果. 2.线性方程组Ax?b的A及b为
?10?7 A???8??7787??32??23?565??,b???,
6109??33????5910??31?则解x?(1,1,1,1)T.用Matlab内部函数求detA及A的所有特征值和cond(A)2.若令
78.17.2??10?7.085.0465??, A??A??5.989.899??8??99.98??6.995求解(A??A)(x??x)?b,输出向量?x和?x2,从理论结果和实际计算两方面分析线性方程组Ax?b解的相对误差?x2x2及A的相对误差?A2A2的关系。
- 1 -
3.给出线性方程组Hnx?b,其中系数矩阵Hn为希尔伯特矩阵: Hn??hij??Rn?n,hij?T1,i,j?1,2,?,n.
i?j?1假设x*??1,1,?,1??Rn,b?Hnx*,若取n?6,8,分别用雅可比迭代法及SOR迭代法(??1,1.25,1.5)求解,比较计算结果。
四、实验结果
1.文件程序:
function hl=zhjLU(A,b)
[n n] =size(A); RA=rank(A); if RA~=n
disp('请注意:因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下:'), RA,hl=det(A); return end
if RA==n for p=1:n
h(p)=det(A(1:p, 1:p)); end
hl=h(1:n); for i=1:n if h(1,i)==0
disp('请注意:因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:'), hl;RA return end end
if h(1,i)~=0
disp('请注意:因为A的各阶主子式都不等于零,所以A能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:') for j=1:n
U(1,j)=A(1,j); end
for k=1:n for i=2:n
for j=2:n
L(1,1)=1;L(i,i)=1; if i>j
L(1,1)=1;L(2,1)=A(2,1)/U(1,1); L(i,1)=A(i,1)/U(1,1);
- 2 -
L(i,k)=(A(i,k)- L(i,1:k-1)*U(1:k-1,k))/U(k,k); else
U(k,j)=A(k,j)-L(k,1:k-1)*U(1:k-1,j); end end end end
hl;RA,U,L end end
文件程序:
function [RA,RB,n,X]=liezhu(A,b) B=[A b]; n=length(b); RA=rank(A); RB=rank(B);zhica=RB-RA; if zhica>0,
disp('请注意:因为RA~=RB,所以此方程组无解.') return end
if RA==RB if RA==n
disp('请注意:因为RA=RB=n,所以此方程组有唯一解.') X=zeros(n,1); C=zeros(1,n+1); for p= 1:n-1
[Y,j]=max(abs(B(p:n,p))); C=B(p,:); B(p,:)= B(j+p-1,:); B(j+p-1,:)=C; for k=p+1:n
m= B(k,p)/ B(p,p);
B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1); end end
b=B(1:n,n+1);A=B(1:n,1:n); X(n)=b(n)/A(n,n); for q=n-1:-1:1
X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q); end else
disp('请注意:因为RA=RB 窗口输入输出 >> A=[10 -7 0 1;-3 2.099999 6 2;5 -1 5 -1;2 1 0 2]; >> b=[8 5.9000001 5 1]'; >> zhjLU(A,b) 请注意:因为A的各阶主子式都不等于零,所以A能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下: - 3 - RA =4 %U矩阵 U = 10.0000 -7.0000 0 1.0000 0 2.1000 6.0000 2.3000 0 0 -2.1429 -4.2381 0 -0.0000 0 12.7333 %L矩阵 L = 1.0000 0 0 0 -0.3000 1.0000 0 0 0.5000 1.1905 1.0000 -0.0000 0.2000 1.1429 3.2000 1.0000 %矩阵顺序主子试 ans = 10.0000 -0.0000 -150.0001 -762.0001 >> y=inv(L)*b >> x=inv(U)*y %解向量 x = -0.2749 -1.3299 1.2969 1.4398 %行列式 >> det(L)*det(U) ans = -573.0100 >> [RA,RB,n,X]=liezhu(A,b) 请注意:因为RA=RB=n,所以此方程组有唯一解. A = 10.0000 -7.0000 0 1.0000 0 2.5000 5.0000 -1.5000 0 0 6.0000 2.3000 0 0 0 5.0800 RA =4 RB = 4 n =4 %解向量 X = 0.0000 -1.0000 1.0000 - 4 - 1.0000 %行列式 >> det(A) ans = -762.0001 2. >> A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10]; >> b=[32 23 33 31]'; >> cond(A,2)%求cond(A)2. ans =2.9841e+003 >> det(A)%求行列式 ans =1.0000 >> eig(A)%求A的特征值 ans =0.0102 0.8431 3.8581 30.2887 >> A1=[10 7 8.1 7.2;7.08 5.04 6 5;8 5.98 9.89 9;6.99 5 9 9.98]; >> x=[1 1 1 1]'; >> I=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; >> x1=-inv(I+inv(A)*(A1-A))*inv(A)*(A1-A)*x%求?x x1 = -10.5863 17.3741 -4.2258 2.5240 >> norm(x1,2)%求?x2 ans = 20.9322 >> norm(x1,2)/norm(x,2)%相对误差?x2x2 ans = 5.2931 >> norm(A1-A,2)/norm(A,2)%A的相对误差?A2A2 ans =0.0076 3. 雅可比迭代文件一 function X=jacdd(A,b,X0,P,wucha,max1) [n m]=size(A); for j=1:m a(j)=sum(abs(A(:,j)))-2*(abs(A(j,j))); end for i=1:n if a(i)>=0 disp('请注意:系数矩阵A不是严格对角占优的,此雅可比迭代不一定收敛') %return end end - 5 - if a(i)<0 disp('请注意:系数矩阵A是严格对角占优的,此方程组有唯一解,且雅可比迭代收敛 ') end for k=1:max1 k for j=1:m X(j)=(b(j)-A(j,[1:j-1,j+1:m])*X0([1: j-1,j+1:m]))/A(j,j); end X,djwcX=norm(X'-X0,P); xdwcX=djwcX/(norm(X',P)+eps); X0=X';X1=A\\b; if (djwcX disp('请注意:雅可比迭代收敛,此方程组的精确解jX和近似解X如下:') return end end if (djwcX>wucha)&(xdwcX>wucha) disp('请注意:雅可比迭代次数已经超过最大迭代次数max1 ') end a,X=X;jX=X1', 文件二 n=8; x0=[]; for i=1:n for j=i:n A(i,j)=1/(i+j-1); A(j,i)=A(i,j); end x0=[x0 1]; end x0=x0'; b=A*x0; jacdd(A,b,x0,2,0.001,100) 运行结果 n=6 ans = 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 n=8 ans = Columns 1 through 6 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 Columns 7 through 8 1.0000 1.0000 超松弛迭代文件一 function X=jacdd(A,b,X0,P,wucha,max1,w) [n m]=size(A); for j=1:m a(j)=sum(abs(A(:,j)))-2*(abs(A(j,j))); - 6 - end for i=1:n if a(i)>=0 disp('请注意:系数矩阵A不是严格对角占优的,此雅可比迭代不一定收敛') %return end end if a(i)<0 disp('请注意:系数矩阵A是严格对角占优的,此方程组有唯一解,且雅可比迭代收敛 ') end for k=1:max1 k for j=1:m X(j)=(b(j)-A(j,[1:j-1,j+1:m])*X0([1: j-1,j+1:m]))/A(j,j); end X,djwcX=norm(X'-X0,P); xdwcX=djwcX/(norm(X',P)+eps); X0=X';X1=A\\b; if (djwcX disp('请注意:雅可比迭代收敛,此方程组的精确解jX和近似解X如下:') return end end if (djwcX>wucha)&(xdwcX>wucha) disp('请注意:雅可比迭代次数已经超过最大迭代次数max1 ') end a,X=X;jX=X1', 文件二 n=8; w=1; x0=[]; for i=1:n for j=i:n A(i,j)=1/(i+j-1); A(j,i)=A(i,j); end x0=[x0 1]; end x0=x0'; b=A*x0; jacdd(A,b,x0,2,0.001,100,w) 运行结果 n=6,w=1 ans =1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 w=1.25 - 7 - ans = 1.0e+072 * 0.8986 1.9393 2.5849 3.0372 3.3749 3.6378 (不收敛) w=1.5 ans =1.0e+080 * 1.2736 2.7485 3.6635 4.3046 4.7832 5.1558 (不收敛) n=8,w=1 ans = Columns 1 through 6 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 Columns 7 through 8 1.0000 1.0000 w=1.25 ans = 1.0e+087 * Columns 1 through 6 0.3650 0.8261 1.1329 1.3580 1.5322 1.6716 Columns 7 through 8 1.7860 1.8818 (不收敛) w=1.5 ans =1.0e+095 * Columns 1 through 6 0.5139 1.1629 1.5948 1.9118 2.1569 2.3531 Columns 7 through 8 2.5142 2.6490 (不收敛) 五、实验体会或遇到问题 通过这次课内试验熟悉了Matlab编写及运行数值计算程序的方法,进一步理解了求解线性方程组的直接方法和迭代法基础理论,掌握了应用不同的方法求解线性方程组的收敛速度及误差分析,感觉收获很大。 - 8 -
正在阅读:
计算方法 课内实验 解线性方程组的直接方法和迭代法11-22
圆柱、圆锥的表面积和体积训练题(二)03-29
打针记作文300字06-26
中国抗静电剂行业市场调研与投资动向分析报告(2014-2019)05-26
正文 - 图文11-28
针对日常教学中的某一主题,针对教学目标、教学内容以及教学对象,用简短的语言描述当前课堂导入环节中存在08-01
德国SPINNER机床简述04-18
吃寿司味道作文450字06-18
机械设计练习题 (6)06-24
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 迭代法
- 方程组
- 方法
- 线性
- 直接
- 实验
- 计算
- 湘教版小学音乐五年级上册全册教案(上传)
- 双层作业平台技术响应方案
- 妇产科护理学试题(整理)
- 阅读的基本方法(分段)
- 客家文化与语文教学有效整合研究-2019年作文
- 工会发文明确了发放标准
- 人教版与苏教版的高中化学教材比较 - 图文
- 黑死病对文艺复兴的影响
- 低碳钢、铸铁的扭转破坏实验报告
- 赛迪顾问-中国智能手机产业发展战略研究(2012年)
- 词源词根记英语词汇
- 仪表着陆系统2112 412 GS
- 福建省永定县坎市中学届九年级化学上册 第5章 第1节 金属的性质和利用教案 沪教版
- 临近既有线施工安全防护方案
- 1.5T磁共振进口产品技术规格和配置
- 通信原理试题3套(有答案)
- 《昆虫记》解读及导读题答案
- 活性石灰回转窑设备安装有什么标准 - 图文
- 2019-2020学年度最新(苏教版)五年级数学上册教案 公顷的认识 - 图文
- “现代通信网”第二次阶段作业