- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告
题目:数值分析课程设计报告
学 院 理学院 班 级 数学与应用数学2010级
学生姓名 学 号 提交日期 2013 年 8 月 20 日 数值分析课程设计报告
[设计题一]
要求
编写解线性代数方程组的列主元高斯消去法的函数,并调用该函数计算某个9阶以上的非奇异阵A的逆矩阵。通过计算AA-1检查答案,并与使用inv(A)所得结果和运行时间进行比较。
二.设计思路
①先确定求逆矩阵A为方阵,构造n*2n矩阵C,使得C [A+E];
②令i 1,2,3……n,找出第i列中从i到n的绝对值最大元素C k,i ,如果k~ I,则两行调换位置,并且把换位信息传给记录矩阵flag,同时对第i行进行化一处理,对第i+1行到n行通过行列变换使得C[:,i] 0,最后得到C为前n*n是上三角的单位阵;
③通过行列变换把矩阵C的前n*n部分化成单位阵;
④把C的后n*n部分赋给B,则B就是所求的逆矩阵。
程序清单
function B inv_dm A
%用途:列主元高斯消去法求逆矩阵
%A----------原矩阵
%B----------逆矩阵
[n,n] size A ;
B zeros n,n ;
C zeros n,2*n ;
for i 1:n for j 1:n C i,j A i,j ; end for k n+1:2*n if k~ n+i C i,k 0; else C i,k 1; end end
end
%构造C [A+E]
flag 1:n;
%记录行顺序向量
for i 1:n-1 t find abs C i:n,i max abs C i:n,i ; %寻找最大元素 t t 1 +i-1; flag i t; if t~ i p C i,: ;C i,: C t,: ;C t,: p; %换位 end if C i,i 0 error 矩阵不可逆 ; end C i,: C i,: /C i,i ; for j i+1:n C j,: C j,: -C i,: *C j,i ; end
end
C n,: C n,: /C n,n ;
%因为循环结构问题,所以C[n,:]并没有化一,所以在最后才把最后一行化一
for i n:-1:2 for j 1:i-1 C j,: C j,: -C i,: *C j,i ; end
end
%通过行变换,使得C的前n列为单位阵形式
for i n:-1:1 t flag i ; if t~ i p C :,t ;C :,t C :,i ;C :,i p; end
end
%通过行变化矩阵还原行的顺序
for i 1:n for j 1:n B i,j C i,n+j ; end
end
%将C的后n列赋给B矩阵
程序运行操作过程与输出结果
操作时间
①给出所要求逆的矩阵A:
②执行inv_dm A
③执行inv A
④检验正确性
显然从数量级上我们可以容易判断这是一个单位阵,负号的出现是由于计算机默认误差造成细小误差。
[设计题二]
一.要求
对于迭代法, 它显然有不动点。 试不用判定收敛阶的定理,设计1至2个数值实验(其中必须有一个不是直接用收敛阶的定义)得到收敛阶数的大概数值。
设计思路
求出不动点,利用fixed.m函数: 确定包含不动点的区间[a,b],此处令a -0.5,b 0.5,接着从b开始迭代,利用迭代公式,以x0 0.5开始迭代,终止条件为abs x-x0 1e-6
或者迭代次数超过了10000次,最终返回不动点
计算收敛阶m,利用jie.m函数:
1.由①知道当,所以根据收敛阶公式,其中C为非零常数,转化为
2.从1开始找出满足的p,如果p不满足,令p p+1,直至找到满足条件的p.
3.返回收敛阶n p.
程序清单
求不动点函数fixed.m
function x fixed x0,e
%用途---求不动点
%x0-------初值,abs x0 0.5
%e-----迭代精度
x 0.99*x0-x0^2;
%迭代公式
n 1;
while abs x-x0 e n 10000
x0 x;
x 0.99*x0-x0^2;
n n+1;
end
%循环体
x x0;
求收敛阶函数jie.m
function n jie x0
%用途---求阶函数
k 0;
syms x;
x1 0.99*x-x^2;
h abs x0-x1 / abs x0-x ^k;
while limit h,x,x0 0 k k+1; h abs x0-x1 / abs x0-x ^k;
end
n k;
程序运行操作过程与输出结果
操作时间
文档评论(0)