您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > matlab解线性方程组
一、数学理论复习1、线性方程组axaxaxbaxaxaxbaxaxaxbnnnnmmmnnm11112211211222221122记为Ax=b其中A=(aij)m×nx=(x1,…,xn)’,b=(b1,…,bm)’若秩(A)秩(A,b),则无解;若秩(A)=秩(A,b)=n,存在唯一解;若秩(A)=秩(A,b)n,存在无穷多解;通解是齐次线性方程组Ax=0的基础解系与Ax=b的一个特解之和。对于线性方程组Ax=b:Ax=0称为齐次的线性方程组高斯消元法对于线性方程组Ax=b(A|b)行变换(U|v)其中U是行简化阶梯形矩阵(1)阶梯形矩阵(2)每行首个非零元素为1,并且该1所在列其它元素都为02、逆矩阵方阵A称为可逆的,如果存在方阵B,使AB=BA=E,记B=A-1方阵A可逆的充分必要条件:A0求逆矩阵方法:•A-1=A*/|A|这里A*为A的伴随矩阵•(AE)行变换(EA-1)3、特征值与特征向量对于方阵A,若存在数和非零向量x使Ax=x,则称为A的一个特征值,x为A的一个对应于特征值的特征向量。特征值计算归结为:特征多项式|A-E|=0的求根。对应于特征值的特征向量是齐次线性方程组(A-E)x=0的所有非零解二、使用MATLABdet方阵的行列式diag对角阵inv方阵的逆cond方阵的条件数trace方阵的迹orth正交规范化rank矩阵的秩null求基础解系rref矩阵的行最简形eig特征值与特征向量jordan约当标准形分解norm矩阵或向量范数1、特殊矩阵生成zeros(m,n)生成m行n列的零矩阵;ones(m,n)生成m行n列的元素全为1的阵;eye(n)生成n阶单位矩阵;当A是矩阵,diag(A)返回A的对角线元素构成的向量;当X是向量,diag(X)返回由X的元素构成的对角矩阵;rand(m,n)生成m行n列[0,1]上均匀分布随机数矩阵;linspace(x1,x2,n)生成x1与x2间的n维等距行向量,即将[x1,x2]n-1等分。2、行列式和逆矩阵det(A)返回方阵A的行列式;inv(A)返回A的逆矩阵。3、矩阵除法左除法A\B求解矩阵方程AX=B右除法B/A求解矩阵方程XA=B(1)当A为方阵,A\B与inv(A)*B基本一致:(2)当A不是方阵,除法将自动检测。•若方程组无解,除法给出最小二乘意义上的近似解,即使向量AX-B的长度达到最小;•若方程组有无穷多解,除法将给出一个具有最多零元素的特解;•若为唯一解,除法将给出解。4、特征值和特征向量D=eig(A)返回方阵A的特征值构成的列向量;[V,D]=eig(A)返回方阵A的特征值构成的对角阵D和每个特征值对应的特征向量按列构成的矩阵V。其中每个特征向量都是模等于1的向量,并且属于同一特征值的线性无关特征向量已正交化。例1解下列方程组42312yxyx42312zyxzyx»A=[12;3-2];»B=[1;4];x=A\B求得唯一解»A=[121;3-21];»B=[1;4];x=A\B求得一特解242312yxyxyx24212yxyx»A=[12;3-2;1-1];»B=[1;4;2];x=A\B求得一最小二乘近似解»A=[12;-2-4];»B=[1;-2];x=A\B不能直接求解»A=[12;-2-4;00];»B=[1;-2;0];x=A\B仍可求一近似特解增加方程0x+0y=0例2线性方程组的通解12211432143214321xxxxxxxxxxxx解在无穷多解情况下可用三种方法求通解,●用rref化为行最简形以后求解;●用除法求出一个特解,再用null求得一个齐次组的基础解系;●用符号工具箱中的solve求解。a=[1-11-1;-111-1;2-2-11];b=[1;1;-1];r=[rank(a),rank([a,b])];x0=a\b,xx=null(a);%x0为一特解,xx为对应齐次组的基础解系运行后得:r=(2,2)说明系数矩阵秩和增广矩阵秩相等,自由未知量为4-2=2个0010x0=-0.70710-0.70710-0.00000.7071-0.00000.7071xx=方法一:方程组的解=特解+对应齐次组的通解7071.07071.000000.7071-0.7071-010021ccx其中c1和c2为任意实数结果为:t=1-1000001-1100000a=[1-11-1;-111-1;2-2-11];b=[1;1;-1];r=[rank(a),rank([a,b])];t=rref([a,b]);%此时得出一个行简化阶梯形矩阵解法二:运行后得:从而知原方程组等价于104321xxxx虚线为等号1100,001110,0142得两基础无关解分别取值为令自由未知量,xx0100,0042得一特解取值为令自由未知量xx110000110100214321ccxxxx结果为:其中c1和c2为任意实数104321xxxx对004321xxxx对导出组例3判定下列线性方程组是否有解?若有解,求出其解4325322)1(321321321xxxxxxxxx8325322)3(321321321xxxxxxxxx032325322)2(321321321xxxxxxxxx(1)a=[2-23;-11-2;1-11];b=[5;3;4];r1=rank(a);r2=rank([a,b])r1≠r2无解唯一解(2)a=[2-23;-11-2;2-31];b=[5;3;0];r1=rank(a);r2=rank([a,b])r1=r2=3x=a\b或x=inv(a)*b(3)a=[2-23;-11-2;1-11];b=[5;3;8];r1=rank(a);r2=rank([a,b])r1=r2=23x0=a\bx=null(a1)%运行后得基础解x=(0.7071,0.7071,0)’无穷解经运行发现无法解出x0因此给原方程组加一个方程0x1+0x2+0x3=0a1=[2-23;-11-2;1-11;000];b1=[5;3;8;0];x1=a1\b1;%经运行后可得出一个特解x1=(0,-19,-11)’结果为:07071.07071.011190321cxxx其中c为任意实数三、国民经济投入产出分析设有n个经济部门,xi为部门i的总产出,cij为部门j单位产品对部门i产品的消耗,di为外部对部门i的需求,fj为部门j新创造的价值。那么各经济部门总产出应满足下列关系式:消耗平衡方程组xxcfjjijinj1j=1,2,…,n令C=(cij),X=(x1,…,xn)',D=(d1,…,dn)’,F=(f1,…,fn)’则X=CX+D令A=E-C,E为单位矩阵,则AX=DC称为直接消耗矩阵,A称为列昂杰夫(Leontief)矩阵。分配平衡方程组xcxdiijjnji1i=1,2,…,nY=[1,1,…,1]BY表示各部门的总投入,称为投入向量。新创造价值向量F=X–Y'B=CB表示各部门间的投入产出关系,称为投入产出矩阵。xxxn12四、实验例题例4某地有三个产业,一个煤矿,一个发电厂和一条铁路,开采一元钱的煤,煤矿要支付0.25元的电费及0.25元的运输费;生产一元钱的电力,发电厂要支付0.65元的煤费,0.05元的电费及0.05元的运输费;创收一元钱的运输费,铁路要支付0.55元的煤费和0.10元的电费,在某一周内煤矿接到外地金额50000元定货,发电厂接到外地金额25000元定货,外界对地方铁路没有需求。解:这是一个投入产出分析问题。设x1为本周内煤矿总产值,x2为电厂总产值,x3为铁路总产值,则xxxxxxxxxxxx1123212331230065055500000250050102500002500500(..)(...)(..)问三个企业间一周内总产值多少才能满足自身及外界需求?三个企业间相互支付多少金额?三个企业各创造多少新价值?直接消耗矩阵C=02500050000外界需求向量D=产出向量X=xxx12300650550250050100250050.......则原方程为(E-C)X=D投入产出矩阵为B=C*diag(X)总投入向量Y=ones(1,3)*B新创造价值向量F=X-Y’Matlab程序:C=[00.650.55;0.250.050.1;0.250.050];D=[50000;25000;0];A=eye(3)-C;X=A\D;%总产出矩阵向量B=C*diag(X);%投入产出矩阵Y=ones(1,3)*B;%总投入向量F=X-Y’%新创造价值向量消耗部门外界需求煤矿电厂铁路生产部门煤矿0365061558250000电厂255222808283325000铁路25522280800新创造的价值51044140419915总产出1020885616328330投入产出分析表例4(隐性病遗传)染色体遗传中,后代是从父母体的基因对中各继承一个基因,形成自己的基因型。如果所考虑的遗传特征是由两个基因A和a控制,那么就有三种基因型,父母概率AA-AAAA-AaAA-aaAa-AaAa-aaaa-aaAA11/201/400Aa01/211/21/20后代aa0001/41/21上表给出父母基因型的所有可能组合使其后代形成每种基因对的概率。设金鱼某种遗传病染色体的正常基因为A,不正常基因为a,那么AA,Aa,aa分别表示正常金鱼,隐性患者,显性患者。设初始分布为90%正常金鱼,10%的隐性患者,无显性患者。考虑下列两种配种方案对后代该遗传病基因型分布的影响方案一:同类基因结合,均可繁殖;方案二:显性患者不允许繁殖,隐性患者必须与正常金鱼结合繁殖解设初始分布X(1)=(0.90.10)’,第n代分布为X(n)=)(3)(2)(1nnnxxxA=B=14/1002/1004/1100002/1002/11则X(n)=An-1X(1)X(n)=Bn-1X(1)分别是两种情况下第n代的基因型分布AAAaaaMatlab程序:方案一:A=[11/40;01/20;01/41];x=[0.90.10]’;fori=2:20x=A*x;endx20=x方案二:clear;B=[11/20;01/20;000];y=[0.90.10]’;fori=2:20y=B*y;endy20=y运行程序后得结果x20=(0.9500,0.0000,0.0500)’y20=(1.0000,0.0000,0.0000)’可见按方案1:很多代以后将出现5%的稳定显性患者按方案2:很多代以后显性患者将趋于消失方案2体现了杂交的优势补充内容解的误差分析解的误差分析对于实际问题导出的方程组Ax=b,系数矩阵A与向量b往往带有误差(扰动),下面讨论A或b的微小变化对解x的影响。21,22,01.1111xxxbA解线性方程Ax=b
本文标题:matlab解线性方程组
链接地址:https://www.777doc.com/doc-3125101 .html