一、特殊矩阵
1、通用的特殊矩阵
(1)-zeros函数:产生全为0的矩阵,即零矩阵
-ones函数:产生全为1的矩阵,及幺矩阵
-eye函数:产生对角线全为1的矩阵,当矩阵是方阵时,得到一个单位矩阵
-rand函数:产生(0,1)区间均匀分布的随机矩阵
-randn函数:产生均值为0,方差为1的标准正态分布随机矩阵
(2)以上函数的调用格式相似,以zeros函数为例子:
-zeros(m):产生m * m的零矩阵
-zeros(m,n):产生m * n的零矩阵
-zeros(size(A)):产生与矩阵A同样大小的零矩阵
(3)若要产生n阶矩阵,且矩阵的元素均在区间[a,b]上:
-fix(a+(b-a+1)*rand(n))
(4)若要产生n阶矩阵,且矩阵是均值为μ,方差为σ²的正态分布:
-μ+σ * randn(n)
2、用于专门学科的特殊矩阵
(1)魔方矩阵(Magic Square)
n阶魔方矩阵由1,2,3,……,n²共n²个整数组成,且每行、每列及主副对角线上各n个元素之和都相等。
n阶魔方矩阵每行每列元素的和为(1+2+3+……+n²)/n=(n+n^3)/2
magic()函数可以产生一个特定的魔方阵
(2)范德蒙矩阵
vander(V)函数:生成以向量V为基础的范德蒙矩阵
(3)希尔伯特矩阵
hilb(n)函数:生成n阶希尔伯特矩阵
希尔伯特矩阵是高度病态(即,任何一个元素发生一点变动,整个矩阵的行列式的值和逆矩阵都会发生巨大变化),病态程度和阶数相关,阶数越大,病态越严重。
(4)伴随矩阵
compan§函数:生成伴随矩阵,其中p是一个多项式的系数向量,高次幂系数在前,低次幂系数在后。
(5) 帕斯卡矩阵
根据二项式定理,(x+y)^n展开后的系数随着n的增大组成一个三角形表,即杨辉三角形。
把二项式系数依次填写在矩阵的左侧对角线上,然后提取左侧的n行n列元素,即为n阶帕斯卡矩阵。
故P(i,j)=P(i,j-1)+P(i-1,j),且P(1,j)=1,P(i,1)=1
pascal(n)函数:生成一个n阶帕斯卡矩阵
二、矩阵变换
1.对角阵
对角矩阵:只有对角线上有非零元素的矩阵
数量矩阵:对角线上的元素相等的对角矩阵
单位矩阵:对角线上的元素都为1的对角矩阵
(1)提取矩阵的对角线元素
diag(A):提取矩阵A主对角线元素,产生一个列向量
diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量
(2)构造对角矩阵
diag(V):以向量V为主对角线元素,产生对角矩阵
diag(V,k):以向量V为第k条主对角线元素,产生对角矩阵
2、三角阵
(1)上三角阵
上三角阵:矩阵的对角线以下的元素全为零的矩阵
triu(A):提取矩阵A的主对角线及以上的元素
triu(A,k):提取矩阵A的第k条对角线及以上的元素
(2)下三角阵
下三角阵:矩阵的对角线以上的元素全为零的矩阵
tril(A):提取矩阵A的主对角线及以下的元素
tril(A,k):提取矩阵A的第k条对角线及以下的元素
3、矩阵的转置
转置运算符是小数点后接单引号,即 .’
共轭转置运算符是单引号,即 ’
4、矩阵的旋转
rot90(A,k):将矩阵A逆时针方向旋转90°的k倍,当k为1时可省略,当k为负数时表示顺时针旋转。
5、矩阵的翻转
矩阵左右翻转:是将矩阵的第n列和倒数第n列调换
fliplr(A):对矩阵A实施左右翻转
矩阵上下翻转:是将矩阵的第n行和倒数第n行调换
flipud(A):对矩阵A实施上下翻转
例子:证明魔方矩阵的主对角线、副对角线元素之和相等
6、矩阵的逆
inv(A):求矩阵A的逆
例子:求解线性方程组:
x+2y+3z=5
x+4y+9z=-2
x+8y+27z=6