线性代数方程组的数解值法.docxVIP

  • 16
  • 0
  • 约1.1万字
  • 约 13页
  • 2017-02-11 发布于北京
  • 举报
线性代数方程组的数解值法

线性代数方程组的数值解法【实验目的】1. 学会用MATLAB 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;2. 通过实例学习用线性代数方程组解决简化的实际问题。【实验内容】【题目1】通过求解线性方程组和,理解条件数的意义和方程组的性态对解的影响。其中是n阶范德蒙矩阵,即=,,是n阶希尔伯特矩阵,,分别是,的行和。(1)编程构造(可直接用命令产生)和,;你能预先知道方程组和的解吗?令n=5,用左除命令求解(用预先知道的解可检验程序)。(2)令n=5,7,9,…,计算,的条件数。为观察它们是否病态,做以下试验:,不变,和的元素,分别加扰动后求解;和不变,,的分量,分别加扰动求解。分析A和b的微小扰动对解的影响。取,,。(3)经扰动得到的解记做,计算误差,与用条件数估计的误差相比较。1.1构造,和,首先令n=5,构造出,和,。首先运行以下程序,输出。functionA1=fdm(n)k=[];n=5o=ones(n,1);fori=1:n a(i)=1+0.1*(i-1);endfori=1:n k=[k,a(i)];endk=k;fori=1:n-1 o=[o,k.*o(:,i)];endA1=o;直接由命令产生A2:n=5;A2=hilb(n);得到A2:A2 = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111运行以下程序对A1,A2求行和:b1=sum(A1,2)b2=sum(A2,2)输出以下结果:b1 = 5.0000 6.1051 7.4416 9.0431 10.9456b2 = 2.2833 1.4500 1.0929 0.8845 0.7456由于,分别是,的行和,所以可以预知。运行下列程序,用左除命令对,进行求解:x1=A1\b1x2=A2\b2得到以下结果:x1 = 1.0000 1.0000 1.0000 1.0000 1.0000x2= 1.0000 1.0000 1.0000 1.0000 1.0000可知,得到的x1,x2与预想结果相同。1.2 计算条件数并观察是否为病态1.不加扰动,计算条件数。运行以下程序:c1=cond(A1)c2=cond(A2)得到以下结果:c1 = 3.5740e+005c2 = 4.7661e+005由此可知,A1,A2的条件数分别是,。2.,不变,,分别加扰动(1)n=5时设x11,x12,x13分别为A1添加扰动,,后的解。x21,x22,x23分别为A2添加扰动后的解。运行以下程序,输出添加扰动后的解:A10=sparse(n,n,10^(-10),n,n);A8=sparse(n,n,10^(-8),n,n);A6=sparse(n,n,10^(-6),n,n);A11=A10+A1;A12=A8+A1;A13=A6+A1;A21=A10+A2;A22=A8+A2;A23=A6+A2;x11=A11\b1;x12=A12\b1;x21=A21\b1;x22=A22\b2;x23=A23\b2;x13=A13\b2;[x1,x11,x12,x13,x2,x21,x22,x23]得到以下解:X1X11X12X13X2X21X22X231.00001.00001.00000.99931.00001.00001.00000.99941.00001.00001.00001.00251.00001.00001.00011.01211.00001.00001.00000.99671.00001.00000.99940.94571.00001.00001.00001.00191.00001.00001.00091.08451.00001.00001.00000.99961.00001.00000.99960.9578(2)n=7时得到如下结果:X1X11X12X13X2X21X22X231.00001.00000.99990.99501.00001.00000.99990.99901.00001.00001.00021.02451.00001.00011.00

文档评论(0)

1亿VIP精品文档

相关文档