数值分析作业-atlab上机作业.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析作业-atlab上机作业

数值分析 ———Matlab上机作业 学院: 班级: 老师: 姓名: 学号: 第二章 解线性方程组的直接解法 第14题 【解】 1、编写一个追赶法的函数 输入a,b,c,d输出结果x,均为数组形式 function x=Zhuiganfa(a,b,c,d) %首先说明:追赶法是适用于三对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。 %定义三对角矩阵A的各组成单元。方程为Ax=d %b为A的对角线元素(1~n),a为-1对角线元素(2~n),c为+1对角线元素(1~n-1)。 % A=[2 -1 0 0 % -1 3 -2 0 % 0 -2 4 -3 % 0 0 -3 5] % a=[-1 -2 -3];c=[-1 -2 -3];b=[2 3 4 5];d=[6 1 -2 1]; n=length(b); u(1)=b(1); y(1)=d(1); for i=2:n l(i)=a(i-1)/u(i-1);%先求l(i) u(i)=b(i)-c(i-1)*l(i);%再求u(i) %A=LU,Ax=LUx=d,y=Ux, %Ly=d,由于L是下三角矩阵,对角线均为1,所以可求y(i) y(i)=d(i)-l(i)*y(i-1); end x(n)=y(n)/u(n); for i=(n-1):-1:1 %Ux=y,由于U是上三角矩阵,所以可求x(i) x(i)=(y(i)-c(i)*x(i+1))/u(i); end 2、输入已知参数 a=[2 2 2 2 2 2 2]; b=[2 5 5 5 5 5 5 5]; c=[2 2 2 2 2 2 2]; d=[220/27 0 0 0 0 0 0 0]; 3、按定义格式调用函数 x=zhuiganfa(a,b,c,d) 4、输出结果 x=[8.147775166909105 -4.073701092835030 2.036477565178471 -1.017492820111148 0.507254485099400 -0.250643392637350 0.119353996493976 -0.047741598597591] 第15题 【解】 1、编写一个程序生成题目条件 生成线性方程组Ax=b的系数矩阵A和右端项量b,分别定义矩阵A、B、a、b分别表示系数矩阵,其中或分别构成A、B对应右端项量分别a、b。程序如下: clear,clc; n=5; %定义A矩阵 A=zeros(n,n); for i=1:n x=1+0.1*i; for j=1:n A(i,j)=x^(j-1); end end %定义B矩阵 B=zeros(n,n); for i=1:n for j=1:n B(i,j)=1/(i+j-1); end end %定义a向量,其中Ax=a for i=1:n x=1+0.1*i; a(i)=0; for j=1:n a(i)=x^(j-1)+a(i); end end %定义b向量,其中Bx=b for i=1:n b(i)=0; for j=1:n b(i)=1/(i+j-1)+b(i); end end 修改n分别为5、10、20,运行程序能得到相应A、B、a、b。 2、分别求系数矩阵A,B的2-条件数 利用自带函数求解 n=5时 cond(A,2)= 5.361484750384177e+005 cond(B,2)= 4.766072502417230e+005 n=10时 cond(A,2)= 8.682266932586666e+011 cond(B,2)= 1.602467527403655e+013 n=2=时 cond(A,2)= 3.420511387496488e+022 cond(B,2)= 1.845813098127243e+018 典型病态方程 3、利用LU分解法解方程组 首先,编辑一个LU分解函数如下 function[L,U]=Lu(A) % 求解线性方程组的三角分解法 % A为方程组的系数矩阵 %L和U为分解后的下三角和上三角矩阵 [n,m]=size(A); if n~=m error(The rows and columns of matrix A must be equal!); return; end %判断矩阵能否LU分解 for ii=1:

文档评论(0)

womei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档