您好,欢迎访问三七文档
数学实验作业学院:理学院班级:统计11-1姓名:吴学号:2011110510261实验1一、问题的提出已知方程组bAx,其中2020RA,定义为32/14/12/132/14/14/12/132/14/14/12/132/14/12/13A通过迭代法求解方程组。(1)选取不同的初始向量0x,和不同的方程组右端向量b,给定迭代误差要求,用雅克比和高斯赛德尔迭代法计算,观察得到的迭代向量序列是否收敛?(2)取定右端向量b和初始向量0x,将A的主对角元素成倍增长若干次,非主对角元素不变,每次用雅克比迭代法计算,要求迭代误差满足5110kkxx,比较收敛速度。二、问题分析问题(1)要求针对不同的初始向量0x,和不同的方程组右端向量b,在迭代误差一定的情况下,分别用用雅克比和高斯赛德尔迭代法计算方程组bAx,并分析迭代向量序列的收敛性与迭代次数。问题(2)要求在右端向量b和初始向量0x一定的条件下,将A的主对角元素成倍增长若干次,非主对角元素不变。在迭代误差满足5110kkxx的条件下,用雅克比迭代法比较不同A的收敛速度。三、模型建立对于一般的线性方程组bAx,假设niaii,,2,10,雅克比迭代公式是.1,1,133221223232222212113132121111nknnnknknnnknknnkkkknnkkkbxaxaxaaxbxaxaxaaxbxaxaxaax2如果将A分解为ULDA,nnaaaD0000000002211,0001,121nnnaaaL,0001,1112nnaaaU迭代公式等价于如下的矩阵形式:,2,1,0,111kbDxULDxkk或.,,111bDfULDBfxBxJJJkjk类似地,线性方程组bAx的高斯赛德尔迭代公式是:.1,1,113312212232312222212113132121111nknnnknknnnknknnkkkknnkkkbxaxaxaaxbxaxaxaaxbxaxaxaax等价于如下的矩阵形式:.)(,)(,111bLDfULDBfxBxSGSGSGkSGk依据分析可知问题(2)要求迭代误差满足5110kkxx,在此,不妨问题(1)也采用相同的迭代误差。针对问题(1),出于简化模型的目的,不妨初始向量0x分别取20]0,,0,0[和20]1,,1,1[,方程组右端向量b也分别取20]0,,0,0[和20]1,,1,1[。针对问题(2),出于简化模型的目的,分别取原A的主对角元素的1到5倍,初始向量0x和方程组右端向量b分别取20]0,,0,0[和20]1,,1,1[,在迭代误差满足5110kkxx的条件下,比较五次得到的迭代结果进行分析。四、模型求解针对问题(1),依据模型在初始向量0x为20]0,,0,0[,方程组右端向量b为20]1,,1,1[时编写如下程序:3A=zeros(20);fori=1:20forj=1:20ifi==jA(i,j)=3;endifi==j-1A(i,j)=-1/2;endifj==i-1A(i,j)=-1/2;endifi==j-2A(i,j)=-1/4;endifj==i-2A(i,j)=-1/4;endendendL=-tril(A,-1);U=-triu(A,1);D=diag(diag(A));b=ones(20,1);%右端向量以下的程序对此出做相应的改动%雅克比B1=D\(L+U);f1=D\b;x0=zeros(20,1);%初始向量以下的程序对此出做相应的改动i=1;x=B1*x0+f1;whilenorm(x-x0,inf)=1e-6x0=x;%设置迭代精度为10e-5x=B1*x0+f1;i=i+1;endxi%高斯赛德尔B2=(D-L)\U;f2=(D-L)\b;y0=zeros(20,1);%初始向量以下的程序对此出做相应的改动j=1;y=B2*y0+f2;whilenorm(y-y0,inf)=1e-6y0=y;%设置迭代精度为10e-5y=B2*y0+f2;j=j+1;4endyj运行程序得到雅克比算法为了达到510e的迭代精度,迭代次数为20。高斯赛德尔算法为了达到510e的迭代精度,迭代次数为13。其结果为:0.4816357540.5734144220.6328008030.6521009640.6609445580.6643082740.6657176080.6662764850.6664999590.6665773260.6665773260.6664999590.6662764850.6657176080.6643082740.6609445580.6521009640.6328008030.5734144220.481635754改变初始向量0x为20]1,,1,1[,保持方程组右端向量b不变为20]1,,1,1[,得到雅克比算法为了达到510e的迭代精度,迭代次数为19。高斯赛德尔算法为了达到510e的迭代精度,迭代次数为13。保持初始向量0x为20]0,,0,0[不变,改变方程组右端向量b为20]0,,0,0[时,得到雅克比算法为了达到510e的迭代精度,迭代次数为1。高斯赛德尔算法为了达到510e的迭代精度,迭代次数为1。从结果看该取值很有可能使得方程组出现了病态解。同时改变初始向量0x(20]1,,1,1[)和方程组右端向量b(20]0,,0,0[)时,得到雅克比算法为了达到510e的迭代精度,迭代次数为20。高斯赛德尔算法为了达到510e的迭代精度,迭代次数为14。当初始向量0x和方程组右端向量b同时为20]0,,0,0[时,方程求解的出现了特殊情况。因此在方程组右端向量b为20]0,,0,0[时,改变初始向量0x为20]2,,2,2[,得到克比算法为了达到510e的迭代精度,迭代次数为21。高斯赛德尔算法为了达到510e的迭代精度,迭代次数为14。综合上述程序运行结果,可以看出,在相同的精度要求下,高斯赛德尔的收敛性更好一些。针对问题(2),依据模型编写如下程序:A=zeros(20);fori=1:20forj=1:20ifi==j5A(i,j)=3;endifi==j-1A(i,j)=-1/2;endifj==i-1A(i,j)=-1/2;endifi==j-2A(i,j)=-1/4;endifj==i-2A(i,j)=-1/4;endendendT=cell(1,5);fork=1:5fori=1:20forj=1:20ifi==jA(i,j)=3*k;T{1,k}=A;endendendend%取原对角元素的1到5倍fori=1:5L=-tril(T{1,i},-1);U=-triu(T{1,i},1);D=diag(diag(T{1,i}));b=ones(20,1);B=D\(L+U);f=D\b;x0=zeros(20,1);i=1;x=B*x0+f;whilenorm(x-x0,inf)=1e-6x0=x;%设置迭代精度为10e-5x=B*x0+f;i=i+1;endxiend运行程序得到在迭代误差满足5110kkxx的要求下,原系数矩阵A的6主对角元素的1到5倍的迭代次数分别为20,10,8,7,6。由此可以看出当迭代精度不变时,主对角元素成倍增大,达到精度所需的迭代次数逐渐下降。五、模型的评价与改进该模型充分运用了UL分解,充分体现了雅克比迭代与高斯赛德尔迭代的特征。在相互对照的模式下,体现了雅克比迭代与高斯赛德尔迭代的收敛速度。也体现出了在系数矩阵A的主对角元素增大的情况下雅克比迭代的收敛性。实验2一、问题的提出设国民经济由农业、制造业和服务业三个部门构成,已知某年他们之间的投入产出关系、外部需求、初始投入等如表1所示。根据表回答下列问题:农业制造业服务业外部需求总产出农业15203035100制造业301045115200服务业2060070150初始投入3511075总投入100200150表1:国民经济三个部门之间的投入产出表(1)如果今年对农业、制造业和服务业的外部需求分别为50,150,100亿元,问这三个部门的总产出应分别为多少?(2)如果三个部门的外部需求分别增加一个单位,问他们的总产出应分别增加多少?二、问题分析题目中给出了农业、制造业、服务业之间的投入产出关系、外部需求、初始投入等。描述了国民经济三个部门之间的生产消耗和投入产出的数量关系。要求建立投入产出的数学模型,并运用模型求出(1)农业、制造业和服务业的外部需求分别为50,150,100亿元时三个部门的总产出(2)三个部门的外部需求分别增加一个单位时他们的总产出应分别增加多少。三、模型建立首先,依据题目所给的数据可以求出消耗系数ija(第j个部门1单位的产出对第i个部门的世界消耗量).,2,1,/njixxajijij(1)在技术水平没有明显提高的情况下,假设直接消耗系数不变,在这个假设下建立投入产出的数学模型。7设有n个部门,记一定时期内第i个部门的总产出为ix,其中对第j个部门的投入为ijx,外部需求为id,则nidxxnjiiji,,2,11(2)由于每个部门的总产出等于总投入,所以可以将(1)式中的jx视为第j列的总投入,由(1)、(2)式得到nidxaxnjijiji,,2,11(3)记直接消耗系数矩阵nnijaA,产出向量nxxxx,,,21,需求向量ndddd,,,21,则式(3)可以写作(其中I是单位矩阵):dAxx或dxAI)(从方程组看得出dAIx1,表明总产出对外部需求d是线性的,所以当d增加一个单位(记作d)时x的增量为dAIx1)(。四、模型求解当农业、制造业和服务业的外部需求分别为50,150,100亿元时,运用建立的模型编写以下程序:a=[152030;301045;20600];b=[100200150];fori=1:3forj=1:3A(i,j)=a(i,j)/b(1,j);endendd=[50;150;100];B=eye(3)-A;x=B\d运行得到当农业、制造业和服务业的外部需求分别为50,150,100亿元时三个部门的总产出分别为139.2801,267.6056,208.1377。三个部门的外部需求分别增加一个单位时,承接上面程序用矩阵求逆命令计算:dx=inv(B)得到三个部门的外部需求分别增加一个单位时他们的总产出应分别增加1.3459,0.5634,0.4382。8五、模型的评价与改进该模型中充分运用了题目中已知的数据,考虑到消耗系数在投入产出关系中的作用,并以消耗系数为起点建立了相应的模型。合理分析了矩阵元素所代表的实际经济意义,恰当的采用了逆矩阵使得运算大大简化。实验3一、问题的提出有三个节点的钢架结构如图1所示,点1收到100kg外力的作用,点2是固定支点,点3是滑动支点。利用力的平衡原理建立模型,讨论外力变化1kg时对各个力的影响,求出力322321,,,,,VVHFFF。图1:钢架结构(左)和三个支点的受力分析图(右)二、问题分析题中给出了三个节点的钢架结构,其中点2是固定支点,点3是滑动支点。要求利用力的平衡原理建立模型求出点1收到100k
本文标题:数学实验作业2
链接地址:https://www.777doc.com/doc-6705972 .html