http://bbs.seu.edu.cn/pc/pccon.php?id=950&nid=15236
用MATLAB函数创建矩阵
1.空阵
[ ] — 空阵,MATLAB允许输入空阵,当一项操作无结果时,返回空阵。
2.等间距线性向量
linspace — 线性等分函数生成向量,可以在首尾两端元素之间,等分建立向量,其中:
linspace(n1,n2)包括n1,n2元素,生成100维向量;
linspace(n1,n2,n)包括n1,n2元素,生成n维向量。如
>>linspace(0,10,6)
ans =
0 2 4 6 8 10
3.随机数或随机矩阵
rand — [0,1]区间的均匀分布随机数或随机矩阵;
randn — 服从N(0,1)分布的正态随机数或随机矩阵。如
>> rand(2,3)
ans =
0.6405 0.3798 0.6808
0.2091 0.7833 0.4611
>> randn(1,5)
ans =
-0.4326 -1.6656 0.1253 0.2877 -1.1465
4.单位矩阵
eye — 单位矩阵。
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
5.全部元素都为0的矩阵
zeros — 全部元素都为0的矩阵。
>>zeros(2)
ans =
0 0
0 0
6.全部元素都为1的矩阵
ones — 全部元素都为1的矩阵。
>> ones(3,3)
ans =
1 1 1
1 1 1
1 1 1
7.伴随矩阵
compan — 伴随矩阵。矩阵A中的元素都用它们在行列式A中的代数余子式替换后得到的矩阵再转置,这个矩阵叫A的伴随矩阵。A与A的伴随矩阵左乘、右乘结果都是主对角线上的元素全为A的行列式的对角阵。
>> p=[1,2,3,4];
>> compan(p)
ans =
-2 -3 -4
1 0 0
0 1 0
8.魔方矩阵
magic — 魔方矩阵。魔术矩阵是由一个n×n(n为奇数)的整数矩阵构成,矩阵中的整数值是从1~n2。每一行,每一列和两个对角线上数值之和是一样的。如
>> A= (5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
以下对魔方矩阵进行验证
>> sum(A) %对A按列求和;其中sum是求和函数ans =
65 65 65 65 65
>> sum(A') %对A按行求和,A'为A的转置
ans =
65 65 65 65 65
>> sum(diag(A)) %对角线之和,diag(A)为取A的对角向量
ans =
65
>>trace(A) %主对角线元素之和函数
ans =
65
>> sum(diag(fliplr(A))) %反对角线之和,fliplr(A)是将A水平翻转,然后取对角线向量求和
ans =
65
>> norm(a) %矩阵或向量范数
ans =
65.0000
>> normest(a) %矩阵2范数估值
ans =
65
均是65
1. 常用特殊矩阵
blkdiag(A,B)
diag() 根据向量创建对角矩阵,即以向量的元素为对角元素
2、范得蒙矩阵
vander(V):生成以向量V为基础向量的范得蒙矩
范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。
3、希尔伯特矩阵
hilb(n):生成希尔伯特矩阵的函数
使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求 n阶的希尔伯特矩阵的逆矩阵。
(4) 托普利兹矩阵
托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。
生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
例如 T=toeplitz(1:6)
(5) 伴随矩阵
MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
例如,为了求多项式的x3-7x+6的伴随矩阵,可使用命令:
p=[1,0,-7,6];
compan(p)
(6) 帕斯卡矩阵
二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。
由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。
函数pascal(n)生成一个n阶帕斯卡矩阵。
7、魔方数组
魔方数组是一种 较常用特殊数组,这种数组一定是正方形的,而且每一行,每一行的元素之和都相等。
magic(n)