- 3
- 0
- 约7.71千字
- 约 61页
- 2018-08-30 发布于湖北
- 举报
多项式的表达与计算 提取矩阵的对角线元素设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。 例 先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;...11,18,25,2,19];D=diag(1:5);D*A %用D左乘A,对A的每行乘以一个指定常数 用于专门学科的特殊矩阵 (1) 魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n×n共n×n个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。 例 将101-125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。M=100+magic(5) (2) 范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。例如,A=vander([1;2;3;5])即可得到上述范得蒙矩阵。 (3) 伴随矩阵MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。 例 为了求多项式的x3-7x+6的伴随矩阵,可使用命令:p=[1,0,-7,6];compan(p) 求向量的最大和最小值 例 已知x=[-43,72,9,16,23,47], 求向量x的最大值和最小值。 y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置 z=min(x) %求向量x中的最小值 [z,m]=min(x) %求向量x中的最小值及其该元素的位置 max(A) 返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。 [Y,U]=max(A) 返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 矩阵除法在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值,都等于0.75。又如,设a=[10.5,25],则a/5=5\a=[2.1000 5.0000]。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般A\B≠B/A。 矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A‘同型的矩阵B,使得:A·B·A=AB·A·B=B此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。 练习 解方程组 A=[2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2]; b=[4 6 12 6]; x=inv(A)*b 执行结果为: x = 0.6429 0.5000 -1.5000 0.2143 由执行结果可知方程组的解为: 0.6429 0.5000 -1.5000 0.2143 。 例 求矩阵X,使满足:AXB = C。 A=[1 2 3;2 2 1;3 4 3]; B=[2,1;5 3]; C=[1 3;2 0;3 1]; X=A\C/B 矩阵的特征值与特征向量 poly(A) 求矩阵A的特征多项式 d=eig(A) 方阵A的全部特征值组成列向量d [V,D]=eig(A) 得到一个矩阵A的特征值在对角线上的对角矩阵D,矩阵V的列是相应的特征向量,满足AV=VD。 注意:这三条指令求出的是数值解,并不是解析解。 例 用求特征值的方法解方程:3x5-7x4+5x2+2x-18=0 p=[3,-7,0,5,2,-18];A=compan(p); %A的相伴矩阵(友矩阵)x1=eig(A) %求A的特征值x2=roots(p) %直接求多项式p的零点 同型
原创力文档

文档评论(0)