MATLAB基础三
2018-01-31 22:36
246 查看
MATLAB基础三
方阵的行列式把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为所对应的行列式的值。
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)
矩阵的秩
矩阵线性无关的行数或列数称为矩阵的秩。
rank(A):求矩阵A的秩。
e.g.求3~20阶魔方阵的秩。
for n=3:20
r(n)=rank(magic(n));
end
bar(r)
grid on
axis([2,21,0,20])
[3:20;r(3:20)]
矩阵的迹
矩阵的迹等于对角线元素之和,也等于矩阵的特征值之和。
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)向量的3种常用范数
求向量范数的函数为:
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
矩阵的条件数
矩阵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’
矩阵的特征值和特征向量
计算矩阵的特征值和特征向量的函数是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(R)
>>[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语言》
相关文章推荐
- 在matlab基础上简单实现一个神经网络算法
- MATLAB基础之矩阵相关的建立、基本操作
- matlab 基础知识
- matlab 图像基础学习2
- matlab绘图 及基础笔记
- matlab基础知识学习(四)
- matlab基础应用之一元插值
- MATLAB矩阵基础运算
- Matlab基础之高维矩阵创建和应用
- Matlab快速入门1——基础操作
- MATLAB GPU编程基础
- 深度学习FPGA实现基础知识16(图像处理中任意核卷积(matlab中conv2函数)的快速实现)
- matlab基础学习(5)之映射和正交基
- 数值分析基础工具使用Matlab绘制双曲线
- MATLAB 神经网络基础(2)
- matlab中遗传算法基础
- MATLAB 基础
- matlab基础笔记三:视频读入与将视频转换为帧
- MATLAB基础知识
- matlab中粒子群算法基础(-)