2.1特殊矩阵
1.通用特殊矩阵
- zeros函数:产生全0矩阵 zeros(m)产生mm,zeros(m,n)产生mn大小矩阵,zeros(size(A))产生与A
- ones函数:产生全1矩阵
- eye函数:对角矩阵
- rand函数:产生(0,1)区间均匀分布的随机矩阵
- randn函数:产生均值为0的,方差为1的标准正态分布矩阵
例题一:首先使用5阶两位随机整数矩阵,在产生均值为0.6,方差为0.1的5阶正态分布矩阵最后并验证,A+B=A+B.
>> A=fix(10+(99-10+1)*rand(5));
>> B=0.6+sqrt(0.1)*randn(5);
>> C=eye(5);
>> (A+B)*C==C*A+B*C
ans =
5×5 logical 数组
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
//验证成立
>>
2.魔方矩阵
n阶魔方阵由n个元素组成,每行每列,主对角线,副对角线上n个元素之和都相等
>> M=magic(4)
M =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> sum(M(1,:))
ans =
34
>> sum(M(:,2))
ans =
34
3.范德蒙矩阵
3.希尔伯特矩阵
在MATLAb中,生产希尔伯特矩阵的函数是hilb(n).
病态矩阵,任何一个元素放生变化,矩阵特征值,逆矩阵都会发生极大的变化。
>> format rat //以有理数输出,格式化输出
>> H=hilb(4)
H =
1 1/2 1/3 1/4
1/2 1/3 1/4 1/5
1/3 1/4 1/5 1/6
1/4 1/5 1/6 1/7
4.伴随矩阵
Matlab生成的伴随矩阵是函数compan§,其中p是一个多项式的系数向量,高次幂排在前,低次幂系数排在后面。
例如,生成多项式
x^3 -2x^3-5x+6的伴随矩阵。伴随矩阵的特征值等于多项式的跟
>> p=[1,-2,-5,6];
>> A=compan(p)
A =
2 5 -6
1 0 0
0 1 0
>>
>>> e=eig(A)//特征值的根
e =
-2
3
1
5.帕斯卡矩阵
2.2矩阵变换
对角阵:提取矩阵的对角元素
diag(A):提取矩阵A主对角线元素,残生一个列向量。
diag(A,K):提取矩阵A第K条对角线的元素,产生一个列向量
(2)构造对角阵
diag(V):以向量V为主对角线元素,产生对角阵。
diag(V,K):以向量为底K条对角线元素,产生对角阵
(3)三角阵
triu(A): 提取矩阵A 的主对角线级以上的元素
triu(A,K):提取矩阵A的主对角线及以上的元素
>>triu(ones(4),-1)
ans =
1 1 1 1
1 1 1 1
0 1 1 1
0 0 1 1
(3)矩阵的转置
转置运算符时小数点后面接单引号(.’)
共轭转置,其运算符是单引号(’),他在转置的基础上还要取每一个数的复共轭
实数结果一样,复数不一样
(4)矩阵的旋转
rot
fliplr():左右翻转
flipud():s上下翻转
(5)矩阵求逆
inv(A)
2.3矩阵求值
行列式的值:
det(A);
求矩阵的秩
求 3:20阶魔方阵的秩
2.3特征值与特征向量
特征值:
E=eig(A):求矩阵的全部特征值,构成向量E。
[X,D]=eig(A):求出所有特征值,构成对角阵D,并产生矩阵X,x各列是对应的特征向量。
>> X=[0,0.5,0.5,3,5.5,5.5,6,6,3,0;0,0,6,0,6,0,0,8,1,8];
>> a=[1,0.5;0,1];
>> subplot(2,2,2);
>> fill(y(1,:),y(2,:),'b');
未定义函数或变量 'y'。
>> y=a*X;
>> fill(y(1,:),y(2,:),'b');
>> subplot(2,2,1);
>> fill(x(1,:),x(2,:),'b');
未定义函数或变量 'x'。
是不是想输入:
>> fill(X(1,:),X(2,:),'b');