资源描述:
《MATALAB矩阵代数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、E-mail:cxdzlh@163.com数学建模第三章矩阵代数一、矩阵的建立▲矩阵的创建可以通过以下几种形式创建:(1)以直接列出元素形式输入(2)通过语句和函数产生(3)从外部文件装入1、直接输入矩阵●矩阵每行的元素必须用逗号或空格分开;●在矩阵中,采用分号或者回车表明每一行的结束;●整个矩阵必须包含在方括号中例1A=[1,2,3;4,4,4;5,4,6]B=[1,2,34,5,67,8,9]注1矩阵中的元素可以是数字或者表达式,但表达式中不可以包含未知的变量。例2A=[-1,3+4*5,sqrt(2)];B=[A;2
2、,3,4]2、由函数创建和修改矩阵a=[]产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零.zeros(m,n)产生一个m行、n列的零矩阵b=zeros(2,3)ones(m,n)产生一个m行、n列的元素全为1的矩阵c=ones(2,3)eye(m,n)产生一个m行、n列的单位矩阵e=eye(3,3)rand(m,n)产生一个m行、n列在[0,1]上均匀分布的随机数矩阵。rand(4,5)建立三角矩阵:triu(A)生成一个和A大小相同的上三角矩阵。该矩阵的主对角线及以上元素取自A中相应元素,其余元素都为
3、零。tril(A)生成一个和A大小相同的下三角矩阵。该矩阵的主对角线及以下元素取自A中相应元素,其余元素都为零。diag(A)若A是矩阵,则diag(A)为A的主对角线向量;若A是向量,diag(A)产生以A为主对角线的对角矩阵.3.矩阵的修改直接修改可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。指令修改可以用A(,)=来修改。例如a=[120;305;789]a=120305789a(3,3)=0a=120305780矩阵的旋转fliplr(A)左右旋转flipud(A)上下旋转rot90
4、(A)逆时针旋转90度;rot90(A,k)逆时针旋转k×90度例:A=[123;456]B=fliplr(A)C=flipud(A)D=rot90(A),E=rot90(A,-1)3、矩阵中元素的操作(1)矩阵A的第r行:A(r,:)a=[123;456;789];a1=a(2,:)(2)矩阵A的第r列:A(:,r)a2=a(:,2)(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)a3=a(:)(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2,j1:j2)a4=a(1:2,2:3)(5
5、)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[]a(1:2,:)=[](6)删除A的第j1~j2列,构成新矩阵:A(:,j1:j2)=[]a(:,1)=[]3、矩阵的运算1、矩阵的加减运算:矩阵加减法:A+B,A-B注:矩阵与标量可相加减例如:A=[1,2,3;2,4,3;3,3,1];k=6;A-k2、矩阵的乘法运算:矩阵乘法:A*B3、矩阵的除法运算:(1)方阵的求逆指令:B=inv(A)(2)方阵的行列式的值:det(A)(3)特征值和特征向量:[V,D]=eig[A]:产生一个对角元是特征值的对角阵
6、D和一个行向量是特征值对应特征向量的满次矩阵,满足XV=VD(4)rank(A):矩阵的秩(5)null(A):AX=0的基础解系(6)orth(A):求A的列向量空间的正交规范基矩阵的除法(左除和右除)左除“”:求矩阵方程AX=B的解;(A、B的行要保持一致)解为X=AB;(1)当A为方阵且可逆时有X=AB=inv(A)*B;(2)当A不为方阵,AX=B存在唯一解:X=AB;(3)当A不为方阵,AX=B存在无穷多解,AB将给出一个具有最多零元素的特解;(4)当A不为方阵,AX=B无解,AB将给出近似解;例1求
7、矩阵方程:设A、B满足关系式:AB=2B+A,求B。其中A=[301;110;014]。解有(A-2E)B=A程序:A=[301;110;014];B=inv(A-2*eye(3))*AB=(A-2*eye(3))AA=[121;3-21];B=[1;4];X=ABA=[12;-2-4;00];B=[1;-2;0];X=AB右除“/”:求矩阵方程XA=B的解(A、B的列要保持一致)解为X=B/A,当A为方阵且可逆时有X=B/A=B*inv(A)线性方程组的通解(无穷解)方法一:利用rref画为最简形。方法二:(1)利
8、用除法求出一个特解。(2)利用null求出对应的齐次方程组的基础解系。a=[11111;2311-3;10226;4533-1];b=[2;0;6;4];[rank(a),rank([a,b])];rref([a,b])a=[11111;2311-3;10226;4533-1];b=[2;0;6;4];