当前位置:文档之家› matalb矩阵计算(MATLAB矩阵计算)

matalb矩阵计算(MATLAB矩阵计算)

matalb矩阵计算(MATLAB矩阵计算)matalb矩阵计算(MATLAB矩阵计算)4.1 array operations and matrix operationsFrom the appearance of the shape and structure of the data matrix, two-dimensional array and no difference in mathematics. However, as the embodiment of a matrix transformation or mapping operator matrix with mathematical rules, clear and strict. And array operation is defined by the software of MATLAB rules, its purpose is for data management, simple operation. The instruction form nature and perform calculations effectively. Therefore, when using MATLAB, in particular to a clear distinction between clear array operations and matrix operations. Table 4.1.1 lists the similarities and differences between the essence and connotation of two kinds of operation instruction.4.1.1 array operations and matrix operations, instruction forms and substantive meaningArray operationMatrix operationinstructionsMeaninginstructionsMeaningA.'Non conjugate transposeA'Conjugate transposeA=sAssign scalar s to each element of the array AS+BAdd scalar s to each element of the array B, respectivelyS-B, B-sThe difference between the scalar s and the elements of the array B S.*AScalar s is the product of the elements of the array A, respectively S*AThe product of the scalar s and the elements of the matrix A, respectivelyS./B, B.\sScalar s is separated by the elements of array B, respectivelyS*inv (B)Inverse multiplicative scalar B of matrix sA.^nThe N sub order of each element of the array AA^nWhen A is a square matrix, the n power of the matrix AA+BThe addition of an array corresponding elementA+Bmatrix additionA-BSubtracting elements of an arrayA-BMatrix subtractionA.*BMultiplication of an array corresponding elementA*BThe product of the same matrix NevilleA./BThe elements of A are excluded by the corresponding elements of B A/BA right, except BB.\AIt must be the sameB\AA left exceptB (usually different from right division)Exp (A)For the end to e respectively with A elements as index, exponentiationExpm (A)Matrix exponential function of ALog (A)The logarithm of the elements of ALogm (A)The matrix logarithmic function of ASqrt (A)The square root of the elements of the product of ASqrtm (A)A's square function of matricesFrom the above we can see that the array operations such as multiplication, addition, multiplication, transpose, add "points". Therefore, we should pay special attention to "multiply, divide, involution, trigonometric and exponential function", two operations are fundamentally different. In addition, in the implementation of the array and array operation when the array must be involved in computing Tongwei, the result is always with the original array array dimensions.4.2 basic operations of an arrayIn MATLAB, an array operation is a.MATLAB that uses the same calculation for multiple numbers to process arrays in a very intuitive way4.2.1 point transpose and conjugate transpose` - dot transpose. Non conjugate transpose, equivalent to conj (A') A=1:5;'b=a.'= bOneTwoThreeFourFive'c=b.'= C12345This shows that the two transpose of the row vector yields the original row vectorConjugate transpose. Transpose the vectors and conjugate each element:D=a+i*a= DColumns 1 through 31 + 1.0000i2 + 2.0000i3 + 3.0000iColumns 4 through 54 + 4.0000i5 + 5.0000iE=d'= e1 - 1.0000i2 - 2.0000i3 - 3.0000i4 - 4.0000i5 - 5.0000i4.2.2 scalar (scalar) and four operations of an arraySimple mathematical operations can be performed between scalar and array, such as addition, subtraction, multiplication, division, and mixing operations"G=[1 234"567891011 12]G=g-2= g-1 0123456789102*g-1= ans-3 -1 135791113151719Four operations between 4.2.3 arraysIn MATLAB, the array between the four operations, an array of participating in operation must have the same dimension, subtraction, multiplication, addition, operation is carried out according to the elements and elements forms. Among them, the array between the addition, subtraction and matrix addition, subtraction to the same operator, as: "+" "-". However, the array multiplication, division and matrix multiplication, division operation symbol is completely different, thereare differences, between the array multiplication and division operators: "*", "/" or ".".1. array by element add, minus"G=[1 234"567891011 12]"H=[1 111; 2222; 333; 3]"> g+h% added by element= ans23457891012131415> ans-h%, subtract by element= ans123456789 10 11 12> > > > > > > 2 g / h) 混合运算years.1 3 5 78 10 12 1415 17 19 212. 按元素乘> > > > > > > g * hyears.1 2 3 410 12 14 1627 30 33 363. 按元素除数组间的除法运算符有两个, 即左除 "/" 和右除 "." 它们之间的关系是.a /b = b.> > > > > > > g / hyears.1.00002.00003.00004.00002.50003.00004.1000 4.00003.0000 3.3333 3.66674.0000"h \ gyears.1.00002.00003.00004.00002.50003.00004.1000 4.00003.0000 3.3333 3.66674.0000幂运算.在matlab中, 数组的幂运算的运算为 "." 表示每一个元素进行幂运算. > > > > > > > (2% 数组g每个元素的平方.years.1 4 9 425, 36, 49, 6481% (144> > > > > > > g ^ (- 1)) 数组g的每个元素的倒数years.1.0000 0.5000 0.3333 0.25000.2000 0.1667 0.1429 0.12500.1111 0.1000 0.0909 0.0833> > > > > > > 2 g%, 以g的每个元素为指数对2进行乘方运算.years.2 4 8 1632, 64, 128, 256512 1024, 2048, 4096> > > > > > > "h% 以h的每个元素为指数对g中相应元素进行乘方运算.years.1 2 3 425, 36, 49, 64729 1000, 1728> > > > > > > (h - 1).years.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 6 7 881% (144- 数组的指数, 对数和开方运算在matlab中, 所谓数组的运算实质是是数组内部每个元素的运算, 因此, 数组的指数, 对数和开方运算与标量的运算规则完全是一样的, 运算符函数分别为: exp () log (), () must 等.> > a = [1, 3, 4, 5, 2, 6, 3, 2, 4].> > > > > > > c = exp (a)c =2.7183 20.0855 54.59827.3891 403.4288 148.413220.0855 7.3891 54.5982> > > > > > > > > > > >数组的对数, 开方运算与数组的指数运算, 其方式完全一样, 这里不详述.向量运算.对于一行或一列的矩阵, 为向量, matlab有专门的函数来进行向量点积, 叉积和混合积的运算.the 向量的点积运算在高等数学中, 我们知道, 两向量的点积指两个向量在其中一个向量方向上的投影的乘积, 通常用来定义向量的长度.在matlab中, 向量的点积用函数 "dot"来实现, 其调用格式如下.c = dot (a, b) - 返回向量a与b的点积, 结果存放于c中.c = dot (a, b, d) - 返回向量a与b在维数为dim的点积, 结果存放于c中.> > a = [4 2 5 3 1).> > b = (3 8 10 12 13].> > > > > > > c = (a, b).c =137> > > > > > > c = dot (a, b, (4)c =32 50 36 13 6a 向量的叉积运算在高等数学中, 我们知道, 两向量的叉积返回的是与两个向量组成的平面垂直的向量.在matlab中, 向量的点积用函数 cross 来实现, 其调用格式如下.c = cross (a, b) - 返回向量a与b的叉积, 即, 结果存放于c中.c = cross (a, b, d) - 返回向量a与b在维数为dim的叉积, 结果存放于c 中.> > a = [2, 5].> > b = [3, 10].> > > > > > > c = cross (a, b)c =0 - 5 4these 向量的混合运算> > > > > > > d = dot (a, cross (b, c))d =41上例表明, 首先进行的是向量b与c的叉积运算, 然后再把叉积运算的结果与向量a进行点积运算.4.4 矩阵的基本运算如果说matlab的最大特点是强大的矩阵运算功能, 此话毫不为过.事实上, matlab中所有的计算都是以矩阵为基本单元进行的.matlab对矩阵的运算功能最全面, 也是最为强大的.矩阵在形式上与构造方面是等同于前面所述的数组的, 当其数学意义却是完全不同的.矩阵的基本运算包括矩阵的四则运算, 矩阵与标时的运算, 矩阵的幂运算, 指数运算, 对数运算, 开方运算及以矩阵的逆运算, 行列式运算等.it 矩阵的四则运算矩阵的四则运算与前面介绍的数组的四则运算基本相同.但也有一些差别.1. 矩阵的加减The addition and subtraction of a matrix is exactly the same as the addition and subtraction of an array, which requires the exact size of the two matrix to be exactly the same"A=[1 2; 35; 2; 6]";"B=[2 4; 18; 9; 0]";C=a+b= C36413116Multiplication of 2. matricesFor the multiplication of matrices, from linear algebra, we know that the two matrices required to be multiplied have the same common dimension as:"A=[1 2; 35; 2; 6]";"B=[2 41; 89, 0]";C=a*b= C182214657352622A A matrix is a matrix order, will requireB matrix multiplication and must be an order, get the matrix order. That is, only when the first matrix (left column matrix) is equal to the number of second matrices (right matrix) the number of rows, the product of two matrices is meaning.Division of 3. matricesFor the division of a matrix, there are two arithmetic symbols, namely "left" except "symbol" and "right" except "sign" / "." the right division of the matrix is slower, and the "left" operation can avoid the influence of singular matrixFor the equation, if this equation is overdetermined equation, then use division can automatically find the solution of minimizing square. If the equation is Diophantine equation, is used to solve the division operator at least at most rank (A)(rank of matrix A) non zero elements, and the solution of this type of in the solution of a minimum norm."A=[21 3420; 57820; 211417; 3431; 38]";"B=[10 2030, 40]'";X=b\a= x0.7667, 1.1867, 0.8767The above equation is overdetermined. Note that the resulting matrix X is column vector,"A=[21 34205; 78202114; 173431; 38]";"B=[10 20, 30]'";X=b\a= x1.6286, 1.2571, 1.1071, 1.0500The equation above is an indeterminate equationFour operations between 4. matrices and scalarsThe four operations and the four operations of scalar matrixand array and scalar between identical, i.e. each element in the matrix and scalar add, subtract, multiply, with the exception of the four operations. That is, when a division operation is performed, the scalar can only do the dividend.Power operation of 5. matricesThe power operation of a matrix is different from the power operation of a scalar. Using the symbol ^, it is not a power operation for each element of the matrix, but is related to some decomposition of the matrix"B=[21 3420; 782021; 1734; 31]";C=b^2= C3433207417543555376626313536231220156. matrix index, logarithmic and square root operationThe index matrix calculation, logarithmic and square root operations and an array of the corresponding operations are different. It is not a single element in the matrix operations, but for the whole matrix. These operations function as follows:Expm, expm1, expm2, expm3 - exponential arithmetic functions;Logm - logarithmic function;Sqrtm - root operation function."A=[1 34; 265; 32; 4]";> c=expm (a)= C1.0e+004 *0.4668, 0.7694, 0.92000.7919, 1.3065, 1.56130.4807, 0.7919, 0.9475> c=logm (a)= C0.5002 + 2.4406i 0.5960 - 0.6800i 0.7881 - 1.2493i0.4148 + 0.4498i 1.4660 - 0.1253i 1.0108 - 0.2302i0.5780 - 1.6143i 0.4148 + 0.4498i 1.0783 + 0.8263i> c=sqrtm (a)= C0.6190 + 0.8121i 0.8128 - 0.2263i 1.1623 - 0.4157i0.3347 + 0.1497i 2.3022 - 0.0417i 1.1475 - 0.0766i1.0271 - 0.5372i 0.3347 + 0.1497i 1.6461 + 0.2750iTranspose, inverse operation and determinant operation of 7.matricesThe transpose operator of the matrix is', 'and the inverse uses the arithmetic function: inv (), and uses the function: det () to determine the size of the determinant of the matrix"A=[1 20; 25-1; 410; -1]";C=a'= C12425100-1 -1> b=inv (a)= b52 -2-2 -1 10 -2 1> d=det (a)= DOneSpecial operations of 4.5 matricesThe special operations of matrix include matrix eigenvalue operation, conditional number operation, singular value operation, norm operation,rank operation, orthogonalization operation, trace operation, pseudo inverse operation, etc. these operations can be conveniently given by MATLABEigenvalue operations of 4.5.1 matricesIn linear algebra, it is very complicated to compute the eigenvalues of matrices. In MATLAB, the matrix eigenvalue operations are computed only by the function eig () or eigs (). The format is as follows E=eig (X) - generates a column vector consisting of the eigenvalues of the matrix X;[V, D]=eig (X) - generates two matrices V and D, where V is a matrix consisting of the eigenvectors of the matrix X as the column vectors, and D is the diagonal matrix made up of the eigenvalues of the matrix X as the main diagonal elementsThe eigs () function uses the iterative method to solve the eigenvalues and eigenvectors of the matrixD=eigs (X) - generating a column vector consisting of eigenvalues of matrix.X, X must be square, preferably large sparse matrix;[V, D]=eigs (X) - generates two matrices V and D, where V is a matrix consisting of the eigenvectors of the matrix X as the column vectors, and D is the diagonal matrix made up of the eigenvalues of the matrix X as the main diagonal elements"A=[1 20; 25-1; 410; -1]";[b, c]=eig (a)= b-0.2440 -0.9107 0.4472-0.3333 0.3333 0-0.9107 -0.2440 0.8944= C3.7321000.267901Norm operations of 4.5.2 matrices (vectors)In order to reflect the characteristics of some matrix (vector), the norm of the concept of linear algebra, it is divided into 2- norm, 1- norm, infinite norm and Frobenius norm. In MATLAB, norm (or normest)with the function () matrix (vector) norm. The format is as follows.Norm (X) -- the 2- norm of the matrix (vector) X;Norm (X, 2) - ibid;Norm (X, 1) - compute the 1- norm of the matrix (vector) X;Norm (X, INF) -- the infinite norm of the matrix (vector) X;Norm (X,'fro') - compute the Frobenius norm of the matrix (vector) X;Normest (X) -- only the 2- norm of the matrix (vector) X is computed, and the estimate of the 2- norm is applied to the computation of norm (X), which is time-consuming"X=hilb (4)"= X1, 0.5000, 0.3333, 0.25000.5000, 0.3333, 0.2500, 0.20000.3333, 0.2500, 0.2000, 0.16670.2500, 0.2000, 0.1667, 0.1429"Norm (4)"= ansFour> norm (X)= ansOne point five Zero Zero two"Norm (X, 2)= ansOne point five Zero Zero two"Norm (X, 1)= ansTwo point zero eight three three> norm (X, INF)= ansTwo point zero eight three three> norm (X,'fro')= ansOne point five zero nine seven> normest (X)= ansOne point five Zero Zero twoConditional number operation of 4.5.3 matrixThe condition number of a matrix is a quantity of the "morbid" degree of the judgement matrix. The larger the condition number of the matrix A, the more morbid the A is, and conversely, the more "good" state of the A, for example, the Hilbert matrix is a well-known ill conditioned matrixCond (X) - the condition number of the 2- norm of the return matrix X;Cond (X, P) - returns the conditional number of the P- norm of the matrix X, where P is 1,2, inf or fro;Rcond (X) - the inverse value used to compute the condition numberof a matrix. When the matrix X is ill conditioned, rcond (X) is close to 0 and X is "good", and rcond (X) is close to 1.Condest (X) - calculates the estimate of the condition number of the 1- norm of the matrix X"M=magic (3)"= M816357492"H=hilb (4)"= H1, 0.5000, 0.3333, 0.25000.5000, 0.3333, 0.2500, 0.20000.3333, 0.2500, 0.2000, 0.16670.2500, 0.2000, 0.1667, 0.1429> c1=cond (M)= C1Four point three three zero one> c2=cond (M)= C2Four point three three zero one> c3=rcond (M)= C3Zero point one eight seven five> c4=condest (M)= C4Five point three three three three > h1=cond (H)= H11.5514e+004> h2=cond (H, INF)= H22.8375e+004> h3=rcond (H)= H33.5242e-005> h4=condest (H)= H42.8375e+004From the calculation, we can see that the Rubik's cube matrix is better, and the Hilbert matrix is ill conditionedRank of 4.5.4 matrixRank is one of the important concepts in linear algebra, usually by elementary determinant or matrix can be transformed into the column transform, row echelon matrix, the number of rows and the ladder matrix contains nonzero row is a constant, the determination of the non zero line number is the rank of matrix matrix. The rank function (rank) to calculate."T=rand (6)"= T0.9501, 0.4565, 0.9218, 0.4103, 0.1389, 0.01530.2311, 0.0185, 0.7382, 0.8936, 0.2028, 0.74680.6068, 0.8214, 0.1763, 0.0579, 0.1987, 0.44510.4860, 0.4447, 0.4057, 0.3529, 0.6038, 0.93180.8913 0.6154 0.9355 0.8132 0.2722 0.46600.7621 0.7919 0.9169 0.0099 0.1988 0.4186> r =秩(t)R =六由上计算可知,矩阵T为满秩矩阵。

相关主题