文档视界 最新最全的文档下载
当前位置:文档视界 › MATLAB矩阵计算大全

MATLAB矩阵计算大全

MATLAB矩阵计算大全
MATLAB矩阵计算大全

MATLAB矩阵计算大全

2007-11-06 13:09

A+B,A-B,8A,A的平方,A*B,矩阵A的逆.

1.A+B

>>A=ones(3);B=magic(3);C=A+B

2.A-B

>>%同上

3.8A

>>8*A

4.A的平方,A*B,矩阵A的逆.

>>A.^2;A^2;A*B;A.*B;inv(A);

注意:像带点"."时对应元素相乘((如A.*B)),不带时矩阵相乘(如A*B).

% 由m行n列构成的数组称为(m×n)阶矩阵。

% 用"[]"方括号定义矩阵;

% 其中方括号内","逗号或" "空格号分隔矩阵列数值;

% ";"分号或"Enter"回车键分隔矩阵行数值。

% 例:a=[a11 a12 a13;a21 a22 a23]或a=[a11,a12,a13;a21,a22,a23]定义了一个2*3

% 阶矩阵a。

% aij可以为数值、变量、表达式或字符串,如为数值与变量得先赋值,表达式和变量可以

% 以任何组合形式出现,字符串须每一行中的字母个数相等,调用时缺省状态按行顺序取字% 母,如a(1)为第一行第一个字母。

%

% 常用函数如下:函数命令说明

% size(a)

% [d1,d2,d3,..]=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为

% 列数n;

% 对多维矩阵,第N个为矩阵第N维的长度。

% cat(k,a,b) 矩阵合并,运行a = magic(3)

% b = pascal(3)

% c = cat(4,a,b)

% 改4为3或2或1,自己体会合并后的效果。

% k=1,合并后形如[a;b],行添加矩阵(要求a,b的列数相等才能合并);

% k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并),以此类推,n维的矩

% 阵合并,要求n-1维维数相等才可以)。

% fliplr(a) 矩阵左右翻转

% flipud(a) 矩阵上下翻转

% rot90(a)

% rot90(a,k) 矩阵逆时针旋转90度(把你的头顺时针旋转90看原数就可以知道结果了)

% k参数定义为逆时针旋转90*k度。

% flipdim(a,k) 矩阵对应维数数值翻转,如k=1时,行(上下)翻转,k=2时,列(左右)翻转。

% tril(a)

% tril(a,k) 矩阵的下三角部分(包括对角线元素),对应k=0时的取值数。

% k参数设置为正负数值对应对角线向上或向下移动k行划分下三角元素。

% triu(a)

% tril(a,k) 矩阵的上三角部分(包括对角线元素),对应k=0时的取值数。

% k参数设置为正负数值对应对角线向上或向下移动k行划分上三角元素。

% diag(a)

% diag(a,k) 生成对角矩阵或取出对角元素,对应k=0时的取值数。

% k参数设置为正负数值对应对角线向上或向下移动k行取对角元素或生成对角矩阵。

% repmat(a,m,n) 矩阵复制,把矩阵a作为一个单位计算,复制成m*n的矩阵,其每

% 一元素都含一个矩阵a,实际结果为一个size(a,1)*m行,size(a,2)*n列的矩阵。

% w=meshgrid(s,t)

% [u,v]=meshgrid(s,t) 生成行m=size(t,1)*size(t,2),列n=size(s,1)*size(s,2))

% 阶的两个矩阵。其中u为按行顺序取s的n个矩阵元数,按列排列重复m行,v为按列顺序取t的% m个矩阵元数,按行排列重复n列。只生成一个矩阵时,w=u。

% eye(a)

% eye(a,k) 生成a阶单位方阵

% k参数设置为生成a×k阶单位矩阵,即生成a阶单位方阵后,取前k列,不足补0。

% ones(a)

% ones(a,k) 生成a阶全1方阵

% k参数设置生成a×k阶全1矩阵。

% zeros(a)

% zeros(a,k) 生成a阶全0方阵

% k参数设置生成a×k阶全0矩阵。

% inv(a) 生成a的逆矩阵

% l 求矩阵的长度的函数

a=[10,2,12;34,2,4;98,34,6];

size(a)

%

% ans =

%

% 3 3

%

length(a)

%

% ans =

%

% 3

% 1. 通过在矩阵变量后加’的方法来表示转置运算a=[10,2,12;34,2,4;98,34,6];

a'

%

% ans =

%

% 10 34 98

%

% 2 2 34

%

% 12 4 6

% 2. 矩阵求逆

inv(a)

% ans =

%

% -0.0116 0.0372 -0.0015

%

% 0.0176 -0.1047 0.0345

%

% 0.0901 -0.0135 -0.0045

% 3. 矩阵求伪逆

pinv(a)

%

% ans =

%

% -0.0116 0.0372 -0.0015

%

% 0.0176 -0.1047 0.0345

%

% 0.0901 -0.0135 -0.0045

%

% 4. 左右反转

fliplr(a)

%

% ans =

%

% 12 2 10

%

% 4 2 34

%

% 6 34 98

%

% 5. 矩阵的特征值

[u,v]=eig(a)

% u =

%

% -0.2960 0.3635 -0.3600 %

% -0.2925 -0.4128 0.7886 %

% -0.9093 -0.8352 0.4985 %

% v =

%

% 48.8395 0 0

%

% 0 -19.8451 0

%

% 0 0 -10.9943

% 6. 上下反转

flipud(a)

% ans =

%

% 98 34 6

%

% 34 2 4

%

% 10 2 12

%

% 7. 旋转90度

rot90(a)

%

% ans =

%

% 12 4 6

%

% 2 2 34

%

% 10 34 98

%

% 8. 取出上三角和下三角

triu(a)

%

% ans =

%

% 10 2 12

%

% 0 2 4

%

% 0 0 6

tril(a)

%

% ans =

%

% 10 0 0

%

% 34 2 0

%

% 98 34 6

[l,u]=lu(a)

%

% l =

%

% 0.1020 0.1500 1.0000 %

% 0.3469 1.0000 0

%

% 1.0000 0 0

%

% u =

% 98.0000 34.0000 6.0000

%

% 0 -9.7959 1.9184

%

% 0 0 11.1000

%

% 9. 正交分解

[q,r]=qr(a)

%

% q =

%

% -0.0960 -0.1232 -0.9877

%

% -0.3263 -0.9336 0.1482

%

% -0.9404 0.3365 0.0494

%

% r =

%

% -104.2113 -32.8179 -8.0989 %

% 0 9.3265 -3.1941

%

% 0 0 -10.9638

%

% 10.奇异值分解

[u,s,v]=svd(a)

%

% u =

%

% 0.1003 -0.8857 0.4532

%

% 0.3031 -0.4066 -0.8618

%

% 0.9477 0.2239 0.2277

%

% s =

%

% 109.5895 0 0

%

% 0 12.0373 0

% 0 0 8.0778

%

% v =

%

% 0.9506 -0.0619 -0.3041 %

% 0.3014 0.4176 0.8572 %

% 0.0739 -0.9065 0.4156 %

% 11.求矩阵的范数

norm(a)

%

% ans =

%

% 109.5895

norm(a,1)

%

% ans =

%

% 142

norm(a,inf)

%

% ans =

%

% 138

相关文档