matlab 关于矩阵基础知识

jingjing Post at 2006/3/10 18:09:00

2.1 矩阵
mn列构成的数组称为(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的逆矩阵

2.1 矩阵
mn列构成的数组称为(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)

已有 0 位网友发表了看法