MATLAB基础三——行列式、秩、迹、范数、特征值

###MATLAB基础三

  1. 方阵的行列式
    把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为所对应的行列式的值。
    det(A):求方阵A所对应的行列式的值。
    e.g.验证det(A-1)=1/det(A)。

format rat
A=[1,3,2;-3,2,1;4,1,2]
det(inv(A))
1/det(A)

  1. 矩阵的秩
    矩阵线性无关的行数或列数称为矩阵的秩。
    rank(A):求矩阵A的秩。
    e.g.求3~20阶魔方阵的秩。

for n=3:20
r(n)=rank(magic(n));
end
bar®
grid on
axis([2,21,0,20])
[3:20;r(3:20)]

  1. 矩阵的迹
    矩阵的迹等于对角线元素之和,也等于矩阵的特征值之和。
    trace(A):求矩阵A的迹。

>>a=[1,3,2;-3,2,1;4,1,2]
a =
1 3 2
-3 2 1
4 1 2
>> b=trace(a)
b =
5
>> t=sum(diag(a))
t =
5

  1. 向量和矩阵的范数
    矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。
    (1)向量的3种常用范数
    范数1
    求向量范数的函数为:
    norm(V,1):计算向量V的1–范数。
    norm(V)或norm(V,2):计算向量V的2–范数。
    norm(V,inf):计算向量V的∞–范数。
    (2)矩阵的范数
    矩阵的范数

>>x=[2,0,1;-1,1,0;-3,3,0]
x =
2 0 1
-1 1 0
-3 3 0
>> n=norm(x)
n =
4.7234
>> n=norm(x,1)
n =
6

  1. 矩阵的条件数
    矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积。
    条件数越接近于1,矩阵的性能越好,反之,矩阵的性能越差。
    计算矩阵A的条件数的函数为:
    cond(A,1):计算A的1–范数下的条件数。
    cond(A)或cond(A,2):计算A的2–范数下的条件数。
    cond(A,inf):计算A的∞–范数下的条件数。
    e.g.求2~10阶希尔伯特矩阵的条件数。

for n=2:10
c(n)=cond(hilb(n));
end
format long
c’

  1. 矩阵的特征值和特征向量
    计算矩阵的特征值和特征向量的函数是eig,常用的调用格式有两种:
    E=eig(A):求矩阵A的全部特征值,构成向量E。
    [X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。

>>R=[-1,2,0;2,-4,1;1,1,-6];
>>S=[1,2;2,3];
>>A=>>[R,zeros(3,2);zeros(2,3),S];
>>[X1,d1]=eig®
>>[X2,d2]=eig(S)
>>[X3,d3]=eig(A)
X1 =
0.8553 0.4517 0.1899
0.4703 -0.8395 -0.5111
0.2173 -0.3021 0.8383
d1 =
0.0996 0 0
0 -4.7165 0
0 0 -6.3832
X2 =
-0.8507 0.5257
0.5257 0.8507
d2 =
-0.2361 0
0 4.2361
X3 =
0.8553 0.4517 0.1899 0 0
0.4703 -0.8395 -0.5111 0 0
0.2173 -0.3021 0.8383 0 0
0 0 0 -0.8507 -0.5257
0 0 0 0.5257 -0.8507
d3 =
0.0996 0 0 0 0
0 -4.7165 0 0 0
0 0 -6.3832 0 0
0 0 0 -0.2361 0
0 0 0 0 4.2361

>>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];
>>y=A*x;
>>subplot(2,2,1);
>>fill(x(1,:),x(2,:),‘r’);
>>subplot(2,2,2);
>>fill(y(1,:),y(2,:),‘r’);
倾斜

定义变换矩阵A,再利用A对x进行变换,得到y矩阵,最后分别绘制变换前后的图形,M原来是正体,变换后改为斜体。
在构建字库时,不必单独创建斜体字库,而只需对正体字库进行适当的线性变换即可,这样可以大大节省存储空间。

参考:MOOC《科学计算与MATLAB语言》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值