Loading... # Matlab 特殊矩阵 <div class="tip inlineBlock info"> 相关视频 https://www.bilibili.com/video/BV19J411W7Ta?p=9 </div> ## 通用特殊矩阵 1. `zeros` 产生零矩阵。 - `zeros(m)` 产生 mxm 方阵 - `zeros(m, n)` 产生 mxn 矩阵 - `zeros(size(A))` 生成与 A 矩阵同型的零矩阵 2. `ones` 产生元素全为 `1` 的矩阵。 3. `eye` 产生对角线元素为 `1` 的矩阵。特别地,当矩阵是方阵时,得到一个方阵。 4. `rand` 产生元素在`(0,1)`区间随机分布的矩阵。 5. `randn` 产生元素满足标准正态分布`N(0,1)`的随机矩阵。 例如求元素为且满足正态分布`N(0.6,0.1²)` *提示:若`X~N(0,1)`,那么`σX+μ~N(μ,σ²)`* ```matlab >> A = 0.6 + sqrt(0.1) * randn(5) A = 0.3269 1.0847 0.2556 0.6272 0.4053 0.6245 0.3566 0.6103 0.1283 0.8366 0.2161 0.7174 0.7747 0.3653 0.5392 0.2479 0.5287 0.9480 0.2643 0.8810 0.5978 0.9533 1.0883 1.3433 0.3581 ``` ## 专门学科的特殊矩阵 ### 魔方矩阵 魔方矩阵每行每列以及主副对角线的值相等且为 $$ \frac1n \sum_i^{n^2}{i}=\frac{n+n^3}2 $$ 在matlab中可用 `magic` 函数产生一个特定的魔方矩阵 ```matlab >> magic(5) ans = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 ``` ### 范德蒙矩阵 对于向量 $v=[v_1, v_2, ...,v_n]$ 可产生矩阵 $$ \begin{aligned} A= & \\ &\begin{matrix} v_1^{n-1}&\cdots&v_1^2 &v_1 &1 \\ v_2^{n-2}&\cdots&v_2^2 &v_2 &1 \\ \vdots &\ddots&\vdots&\vdots&\vdots\\ v_n^{n-2}&\cdots&v_n^2 &v_n &1 \end{matrix} \end{aligned} $$ 在matlab中,可使用`vander` 函数产生范德蒙矩阵。 ```matlab >> vander([1:5]) ans = 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 ``` ### 希尔伯特矩阵 $$ \begin{aligned} H= & \\ &\begin{matrix} 1 &\frac12 &\cdots&\frac1n\\ \frac12&\frac13 &\cdots&\frac1{n+1}\\ \vdots &\vdots &\ddots&\vdots\\ \frac1n&\frac1{1+n}&\cdots&\frac1{2n-1} \end{matrix} \end{aligned} $$ ```matlab >> 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 ``` ### 多项式伴随矩阵 多项式 $p(x)=a_nx^n+a_{n-1}x^{n-1}+...+a_1x+a_0$ 的多项式伴随矩阵是: $$ \begin{aligned} A= & \\ & \left( \begin{matrix} {a_{n-1}}/ {a_n} & {a_{n-2}} / {a_{n-1}} & {a_{n-3}} /{a_{n-2}} & \cdots & {a_2} / {a_1} & {a_1} / {a_0} \\ 1 & 0 & 0 & \cdots & 0 & 0 \\ 0 & 1 & 0 & \cdots & 0 & 0 \\ 0 & 0 & 1 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots &\ddots & \vdots & \vdots\\ 0 & 0 & 0 & \cdots & 1 & 0 \\ 0 & 0 & 0 & \cdots & 0 & 1 \\ \end{matrix} \right) \end{aligned} $$ ```matlab >> compan([1,-2,3,5]) ans = 2 -3 -5 1 0 0 0 1 0 ``` 伴随矩阵的特征值为多项式 $p(x)=0$ 的根 ### 帕斯卡矩阵 ![帕斯卡矩阵,图片来自mathworks.cn](https://cdn.colors-wind.net/usr/uploads/2020/04/1313115670.png) ```matlab >> p = pascal(5) p = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 >> inv(p) ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1 ``` 最后修改:2020 年 05 月 11 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏