资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MATLAB,在线性代数中的应用,1.,线性方程组的求解,2.,特征值、特征向量,MATLAB,初步,1.1,齐次线性方程组,AX=0,若,A,有,n,列,如果,R(A)=n,则,X,只有零解,若,A,有,n,列,如果,R(A)A=1 2 2 1;2 1 -2 -2;1 -1 -4 -3;,format rat%,指定有理式格式输出,适用于,数据较少,要求精确的场合,;,B=null(A,r)%,求解空间的有理基,MATLAB,初步,得到:,B=,2 5/3,-2 -4/3,1 0,0 1,syms k1 k2,X=k1*B(:,1)+k2*B(:,2)%,写出方程组的通解,pretty(X)%,让通解表达式更加精美,于是,我们得到原线性方程组的解:,%,定义两个符号,MATLAB,初步,求解的完整代码如下:,A=1 2 2 1;2 1 -2 -2;1 -1 -4 -3;,format rat;,B=null(A,r);,syms k1 k2;,X=k1*B(:,1)+k2*B(:,2),pretty(X),MATLAB,初步,(,2,)使用函数,rref,rref,是用来将一个矩阵化成行阶梯最简形,从而求解。,对上例,还可以使用如下方法求解:,B=,1 0 -2 -5/3,0 1 2 4/3,0 0 0 0,B=rref(A),请同学们编程将它的通解写出来,!,MATLAB,初步,1.3.2,非齐次线性方程组,AX=b,非齐次线性方程组需要先判断方程组是否有解,,若有解,再去求通解。,第一步:判断,AX=b,是否有解,若有解则进行,第二步;,因此,步骤为:,第四步:,AX=b,的通解,=AX=0,的通解,+AX=b,的一个,特解。,第二步:求,AX=b,的一个特解;,第三步:求,AX=0,的通解,MATLAB,初步,利用矩阵除法求线性方程组的,特解,(或唯一解),方程:,Ax,=,b,解法:,x,=,A,b,在系数矩阵不满秩时,求特解可能存在误差,A=5 6 0 0 0,1 5 6 0 0,0 1 5 6 0,0 0 1 5 6,0 0 0 1 5;,B=1 0 0 0 1;,R_A=rank(A)%,求秩,X=AB%,求解,MATLAB,初步,例,2,求解方程组,有否解,?,MATLAB,初步,A=1 -2 3 -1;3 -1 5 -3;2 1 2 -2;%,输入系数矩阵,A,的值,%first,input the coefficient matrix A,b=1 2 3;%,输入,b,的值,B=A,b;%,得到增广矩阵,n=4;%,未知变量为,4,个,R_A=rank(A);%,求得系数矩阵,A,的秩,R_B=rank(B);%,求得增广矩阵的秩,format rat%,以有理数的形式显示数据,if R_A=R_B&R_A=n%,判断有唯一解,disp(It has only one solution!),X=Ab%,直接用除法求该唯一解,.,elseif R_A=R_B&R_An%,判断有无穷解,disp(It has infinitely many solutions!),X=Ab%,求特解,C=null(A,r)%,求,AX=0,的基础解系,else,X=equition no solve%,判断无解,注意该处输出字符串,X.,end,例,3,求解方程组的通解:,只需修改例,2,的系数矩阵和常数项向量即可!,原方程组的通解为,X=,+k,2,+,k,1,试用,rref,求解?,2,特征值与二次型,(,1,)特征值求解,函数:,eig,d=eig(A)%,求矩阵,A,的特征值,d,,以向量,形式存放,d,。,V,D=eig(A)%,计算,A,的特征值对角阵,D,和特征向量,V,,使,AV=VD,成立,%V,已经被归一化为单位向量了,最常见的两种形式:,MATLAB,初步,例,4,:,求矩阵,的特征值和特征向量,.,A=-2 1 1;0 2 0;-4 1 3;,V,D=eig(A),V=,-0.7071 -0.2425 0.3015,0 0 0.9045,-0.7071 -0.9701 0.3015,MATLAB,初步,D=,-1 0 0,0 2 0,0 0 2,特征值,2,对应特征向量,(-0.2425 0 -0.9701),T,和,(-0.3015 0.9045 -0.3015),T,即:特征值为,1,,,2,,,2,。,-1,对应特征向量,(-0.7071 0 -0.7071),T,MATLAB,初步,(2),正交规范化,格式,B=orth(A)%,将矩阵,A,正交规范化,,B,的列与,A,的列具有相同的空间,,B,的列向量,是正交向量,且满足:,B*B=eye(rank(A),。,例,5,将矩阵,正交规范化。,A=4 0 0;0 3 1;0 1 3;,B=orth(A),Q=B*B,MATLAB,初步,则显示结果为,P=,1.0000 0 0,0 0.7071 -0.7071,0 0.7071 0.7071,Q=,1.0000 0 0,0 1.0000 0,0 0 1.0000,MATLAB,初步,
展开阅读全文