更新第四天,今天来介绍一些特殊矩阵的创建,只不过今天不是晚上工作啦,现在15:23,刚从国家博物馆回来,国博好大,逛了一小天。
1.希尔伯特矩阵(Hilbert matrix)
这个矩阵不难,公式就是
小知识点,MATLAB中“inv”就是逆矩阵的意思
例子:
A=hilb(4)
B=invhilb(4)
A=
1.0000 0.5000 0.3333 0.2500
0.5000 0.3333 0.2500 0.2000
0.3333 0.2500 0.2000 0.1667
0.2500 0.2000 0.1667 0.1429
B=
16 -120 240 -140
-120 1200 -2700 1680
240 -2700 6480 -4200
-140 1680 -4200 2800
可见,希尔伯特矩阵以及它的逆矩阵都是对称矩阵
2.托普利兹矩阵
上面的希尔伯特矩阵相当于每一条从右上角到左下角的对角线都是相同的数字,只不过数字是固定的,而这个托普利兹矩阵是每一条从左上角到右下角的对角线都是相同的数字,但是并不是固定的,需要自己设置,参数就是一个行向量和一个列向量,可以想象一下,当第一行和第一列的数字都确定之后,按照这个矩阵的特点,所有数字就确定下来了,看个例子就明白了
C=toeplitz(2:6,2:2:8)
C=
2 4 6 8
3 2 4 6
4 3 2 4
5 4 3 2
6 5 4 3
解释: 2:6,这个就是说第一列的数字是从2开始一直到6,冒号的参数应该是三个,中间的数字没有写,默认是1;
2:2:8,这个就是说第一行的数字,是从2开始,间隔是2,一直到8,但如果最后一个数字是7呢?那么就是到6了,因为规则是不能超过第三个数字
3.魔方矩阵
魔方阵是很有意思的,有点类似于数独,是说确定一个参数n,然后写一个阶数为n的方阵,这个方阵满足,每一行每一列的和都相等,看例子就懂了,这个挺有意思的
A=magic(3)
A=
8 1 6
3 5 7
4 9 2
E=sum(A) %计算每一行的和(百分号是注释的意思哦别忘了)
F=sum(A’)%计算每一列的和(别忘了带一个撇是转置的意思)
E=
15 15 15
F=
15 15 15
4.帕斯卡矩阵
由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵
杨辉三角形表是二项式 (x+y)^n 展开后的系数随自然数 n 的增大组成的一个三角形表。
如4阶帕斯卡矩阵为:
Pascal(4)=
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
关于这个还有别的变换,下面放上一个大佬的链接
MATLAB 如何使用pascal函数创建Pascal(帕斯卡)矩阵_pascal矩阵-CSDN博客
这位大佬介绍的非常好
还有关于cholesky分解的百度百科
cholesky分解_百度百科 (baidu.com)
5.范德蒙矩阵
这个矩阵还是很有名的,因为线性代数中有这个矩阵行列式的结论,这个函数需要你传入参数,几个参数之间可以用空格隔开也可以用分号隔开,然后,他会根据你的参数“从右往左”生成一个范德蒙矩阵,是的,不是从上往下而是从右往左,看例子就明白了
A=vander([1 2 3 4 5])
B=vander([1;2;3;4;5])
C=vander(1:.5:3)
运算结果自然是A与B都是相同的,都是
1 1 1 1 1
16 8 4 2 1
81 27 9 3 1
256 64 16 4 1
625 125 25 5 1
C则是出现了“.5”其实就是0.5,所以结果全都是double类型
来一张图片,省着一个数字一个数字敲了
文章来源:https://www.toymoban.com/news/detail-846834.html
文章来源地址https://www.toymoban.com/news/detail-846834.html
到了这里,关于MATLAB学习笔记4:矩阵的创建2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!