写在前面:作者本人是纯纯的菜鸟,学习的内容来自于 中国大学MOOC 中南大学 《科学计算与MATLAB语言》,欢迎各位大佬或新手在这里和平讨论,如果我有错误请各位不吝赐教,提前感谢各位捧场!
2.1 特殊矩阵
特殊矩阵分为两种
- 通用性的特殊矩阵
- 用于专门学科的特殊矩阵
1.通用特殊矩阵
常用的特殊矩阵
zeros()
%产生全0矩阵,即零矩阵
ones()
%产生全1矩阵,即幺矩阵
eye()
%产生对角线为1,剩下元素为0的矩阵,当矩阵是方阵时,生成单位矩阵
rand()
%产生(0,1)之间的随机数,注意是开区间
randn()
%产生均值为0,方差为1的标准正态分布随机矩阵
以上函数调用格式类似,下面以ones函数为例
- 产生m*m的方阵:ones(m)
- 产生m*n的矩阵:ones(m,n)
- 产生与矩阵A同大小的矩阵:ones(size(A))
例题:产生5阶两位随机整数矩阵A,再产生均值为0.6 方差为0.1的正态分布矩阵B,最后验证(A+B)*I=I*A+B*I(I为单位矩阵)
思路:
(1)产生A矩阵:由于rand函数仅生成(0,1)的随机整数,要想生成[a,b]内的整数,则需要:
fix(a+(b-a+1)*x),x为用rand函数生成的随机数;
(2)产生B矩阵:由于randn函数仅生成标准正态分布随机数,若需要均值为,方差为的随机数,只需要:
于是,命令如下
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)
%第3题:验证部分
%最终得到的结果是5*5的全1矩阵 说明这两种运算结果相同
2.用于专门学科的特殊矩阵
a.魔方矩阵
何为魔方矩阵?
由1,2,3...共个整数组成,且每行每列元素之和都相同的矩阵。
magic(m)
%生成m阶魔方矩阵
%对于大于2阶的魔方矩阵都有多种,MATLAB中仅给出其中的一种
b.范德蒙矩阵
对于向量范德蒙矩阵的一般形式为
在MATLAB中,使用函数vender(V)生成范德蒙矩阵。
c.伴随矩阵
设多项式,则可以据此计算多项式的伴随矩阵
此多项式称为伴随矩阵A的特征多项式,p(x)=0的根称为A的特征值。
产生命令compan(p),其中,p为特征多项式的系数向量(注意:从高阶到低阶排列)
例如:p=[1,2,3,4] 产生的特征多项式为:
以上就是今天分享的全部内容了,因为有一些矩阵看起来有点复杂而且不常用(即便是我写下来的这几个特殊矩阵我都觉得不常用)我就没有写出来,他们是希尔伯特矩阵和帕斯卡矩阵,如果希望了解的朋友们可以自己上网查询资料或者找这门慕课仔细研究(https://www.icourse163.org/course/CSU-1002475002?outVendor=zw_mooc_pclszykctj_),再次感谢各位耐心观看到这里!