文章目录

  • 2.1 特殊矩阵
  • 2.2 矩阵变换
  • 2.3 矩阵求值
  • 2.4 稀疏矩阵

2.1 特殊矩阵

通用的特殊矩阵:

  • zeros函数:产生全0矩阵,即零矩阵。
  • ones函数:产生全1矩阵,即幺矩阵。
  • eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。
  • rand函数:产生(0,1)区间均匀分布的随机矩阵。
  • randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。
>> zeros(2)
ans =0     00     0
>> ones(2)
ans =1     11     1
>> eye(4)
ans =1     0     0     00     1     0     00     0     1     00     0     0     1
>> rand(3)
ans =0.8147    0.9134    0.27850.9058    0.6324    0.54690.1270    0.0975    0.9575
>> randn(3)
ans =2.7694    0.7254   -0.2050-1.3499   -0.0631   -0.12413.0349    0.7147    1.4897

专门学科的特殊矩阵:

魔方矩阵:n 阶魔方阵由1,2,3,…,n2 共n2 个整数组成,且每行、每列以及主、副对角线上各 n 个元素之和都相等。

  • magic(n) 函数:产生一个 n 阶魔方矩阵。
>> M=magic(3)
M =8     1     63     5     74     9     2

范德蒙矩阵

对于向量v= [v1,v2,…,vn], 范得蒙矩阵的一般形式为:
V = [ v 1 n − 1 ⋯ v 1 2 v 1 1 v 1 0 v 2 n − 1 ⋯ v 2 2 v 2 1 v 2 0 v 3 n − 1 ⋯ v 3 2 v 3 1 v 3 0 ⋮ ⋱ ⋮ ⋮ ⋮ v n n − 1 ⋯ v n 2 v n 1 v n 0 ] V= \left[ \begin{matrix} v^{n-1}_1 &\cdots& v^2_1 & v^1_1 & v^0_1 \\ v^{n-1}_2 &\cdots& v^2_2 & v^1_2 & v^0_2 \\ v^{n-1}_3 &\cdots& v^2_3 & v^1_3 & v^0_3 \\ \vdots &\ddots &\vdots &\vdots &\vdots \\ v^{n-1}_n &\cdots& v^2_n & v^1_n & v^0_n \end{matrix} \right] V= ​v1n−1​v2n−1​v3n−1​⋮vnn−1​​⋯⋯⋯⋱⋯​v12​v22​v32​⋮vn2​​v11​v21​v31​⋮vn1​​v10​v20​v30​⋮vn0​​ ​
即向量 v 各元素的零次方,倒数第二列为指定的向量 v, 即向量 v 各元素的一次方, 其他各列是其后列与倒数第二列的点乘积。

  • vander(v) 函数:生成以向量 v 为基础的范得蒙矩阵。
>> A=vander(1:5)
A =1     1     1     1     116     8     4     2     181    27     9     3     1256    64    16     4     1625   125    25     5     1

希尔伯特矩阵

n 阶希尔伯特(Hilbert)矩阵的一般形式为:
H = [ 1 1 / 2 ⋯ 1 / n 1 / 2 1 / 3 ⋯ 1 / ( n + 1 ) ⋮ ⋱ ⋮ ⋮ 1 / n 1 / ( n + 1 ) ⋯ 1 / ( 2 n − 1 ) ] H= \left[ \begin{matrix} 1 &1/2 &\cdots& 1/n \\ 1/2 &1/3 &\cdots& 1/(n+1) \\ \vdots &\ddots &\vdots &\vdots \\ 1/n &1/(n+1) &\cdots& 1/(2n-1) \end{matrix} \right] H= ​11/2⋮1/n​1/21/3⋱1/(n+1)​⋯⋯⋮⋯​1/n1/(n+1)⋮1/(2n−1)​ ​

  • hilb(n) 函数:生成 n 阶希尔伯特矩阵的函数。
>> format rat    %将显示形式改为分数显示
H=hilb(4)
H =1              1/2            1/3             1/41/2              1/3             1/4             1/51/3            1/4             1/5             1/61/4            1/5             1/6             1/7

帕斯卡矩阵

矩阵如下:

H = [ 1 1 1 1 1 1 1 2 3 4 5 6 1 3 6 10 15 21 1 4 10 20 35 56 1 5 15 35 70 126 1 6 21 56 126 252 ] H= \left[ \begin{matrix} 1 &1 &1 &1 &1 &1 \\ 1 &2 &3 &4 &5 &6 \\ 1 &3 &6 &10 &15 &21 \\ 1 &4 &10 &20 &35 &56 \\ 1 &5 &15 &35 &70 &126\\ 1 &6 &21 &56 &126&252\\ \end{matrix} \right] H= ​111111​123456​136101521​1410203556​15153570126​162156126252​ ​

  • pascal(n) 函数:生成一个 n 阶帕斯卡矩阵。
>> 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

2.2 矩阵变换

对角阵:

对角阵:只有对角线上有非零元素的矩阵。

数量矩阵:对角线上的元素相等的对角矩阵。

单位矩阵:对角线上的元素都为1的对角矩阵。

矩阵的对角线:与主对角线平行,往上为第1条、第2条、一直到第 n 条对角线,往下为第 -1条、-2条、一直到 -n 条对角线。主对角线为第 0 条对角线。

提取矩阵的对角线元素:

  • diag(A):提取矩阵 A 主对角线元素,产生一个列向量。

  • diag(A,k):提取矩阵 A 第 k 条对角线的元素,产生一个列向量。

构造矩阵:

  • diag(V):以向量 V 为主对角线元素,产生对角矩阵。

  • diag(V,k):以向量 V 为第 k 条对角线元素,产生对角矩阵。

>> D=diag(1:3)         %以1到3为主对角线元素,产生对角矩阵
D =1     0     00     2     00     0     3
>> A=diag(D)           %提取矩阵D的对角线元素,产生一个列向量
A =123

三角阵:

上三角阵:矩阵的对角线以下的元素全为零的矩阵。

下三角阵:对角线以上的元素全为零的矩阵。

上三角矩阵

  • triu(A):提取矩阵 A 的主对角线及以上的元素。

  • triu(A,k):提取矩阵 A 的第 k 条对角线及以上的元素。

下三角矩阵

  • tril(A):提取矩阵 A 的主对角线及以下的元素。

  • tril(A,k):提取矩阵 A 的第 k 条对角线及以下的元素。

>> triu(ones(4),-1)
ans =1     1     1     11     1     1     10     1     1     10     0     1     1
>> tril(ones(4),1)
ans =1     1     0     01     1     1     01     1     1     11     1     1     1

矩阵的操作:

矩阵的转置:转置运算符是小数点后面接单引号( .’ )。

>> A=[1,2,3;4,5,6;7,8,9]
A =1     2     34     5     67     8     9
>> A.'
ans =1     4     72     5     83     6     9

矩阵的旋转

  • rot90(A,k):将矩阵 A 逆时针方向旋转 90º 的 k 倍,当 k 为1时可省略。
>> A=[1 3 2;-3 2 1;4 1 2]
A =1     3     2-3     2     14     1     2
>> rot90(A,2)
ans =2     1     41     2    -32     3     1

矩阵的翻转:对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依此类推。

  • fliplr(A):对矩阵 A 实施左右翻转
  • flipud(A):对矩阵 A 实施上下翻转。
>> A=[1 3 2;-3 2 1;4 1 2]
A =1     3     2-3     2     14     1     2
>> B=fliplr(A)
B =2     3     11     2    -32     1     4
>> B=flipud(A)
B =4     1     2-3     2     11     3     2

矩阵的求逆:对于一个方阵 A,如果存在一个与其同阶的方阵 B,使得 AB=BA=I (I为单位矩阵),则称 B 为 A 的逆矩阵,当然,A 也是 B 的逆矩阵。

  • inv(A):求方阵 A 的逆矩阵。

例:用求逆矩阵的方法解线性方程组。
{ x + 2 y + 3 z = 5 x + 4 y + 9 z = − 2 x + 8 y + 27 z = 6 \begin{cases} x +2y+3z=5 \\ x+4y+9z=-2 \\ x+8y+27z=6 \end{cases} ⎩ ⎨ ⎧​x+2y+3z=5x+4y+9z=−2x+8y+27z=6​
在线性方程组Ax=b两边各左乘 A-1,得 x=A-1b。

>> A=[1 2 3;1 4 9;1 8 27];
>> B=[5;-2;6];
>> X=inv(A)*B
X =23.0000-14.50003.6667

2.3 矩阵求值

方阵的行列式:

行列式的值:把一个方阵看作行列式,并对其按行列式的规则求值。

  • det(A):求方阵 A 所对应的行列式的值。
>> A=[1 2;3 4]
A =1     23     4
>> det(A)
ans =-2

矩阵的秩:

矩阵的秩:矩阵线性无关的行数或列数。

  • rank(A):求矩阵 A 的秩。
>> A=[1,2,1;3 4 3;5 3 5]
A =1     2     13     4     35     3     5
>> rank(A)
ans =2

矩阵的迹:

矩阵的迹:等于矩阵的对角线元素之和,也等于矩阵的特征值之和。

  • trace(A):求矩阵 A 的迹。
>> A=[1,3,2;-3,2,1;4,1,2]
A =1     3     2-3     2     14     1     2
>> trace(A)
ans =5

向量和矩阵的范数:

矩阵或向量的范数:用来度量矩阵或向量在某种意义下的长度。

  • norm(V) 或 norm(V,2):计算向量(矩阵) V 的2—范数。
  • norm(V,1):计算向量(矩阵) V 的1—范数。
  • norm(V,inf):计算向量(矩阵) V 的 ∞ —范数。
>> 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

矩阵的条件数:

矩阵的条件数:等于矩阵的范数与矩阵的逆矩阵的范数的乘积。

  • cond(A,1):计算 A 的1—范数下的条件数。
  • cond(A)或cond(A,2):计算 A 的2—范数数下的条件数。
  • cond(A,inf):计算 A 的 ∞ —范数下的条件数。
>> X=[2 0 1;-1 1 0;-3 3 0]
X =2     0     1-1     1     0-3     3     0
>> C=cond(X)
C =5.5044e+16

矩阵的特征值与特征向量:

数学定义:设 A 是 n 阶方阵,如果存在常数 λ 和 n 维非零列向量 x,使得等式 Ax=λx 成立,则称 λ 为 A 的特征值,x 是对应特征值 λ 的特征向量。

  • E=eig(A):求矩阵 A 的全部特征值,构成向量 E。
  • [X,D]=eig(A):求矩阵 A 的全部特征值,构成对角阵 D,并产生矩阵 X,X 各列是相应的特征向量。
>> A=[1 1 0;1 0 5;1 10 2]
A =1     1     01     0     51    10     2
>> [X,D]=eig(A)
X =0.0722    0.9751    0.08860.5234   -0.0750   -0.63560.8490   -0.2089    0.7669
D =8.2493         0         00    0.9231         00         0   -6.1723

2.4 稀疏矩阵

矩阵的存储方式:

完全存储方式:将矩阵的全部元素按列存储。

稀疏存储方式:只存储矩阵的非零元素的值及其位置,即行号和 列号。

注意:采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也 是按列的顺序进行存储。

稀疏存储方式的产生:

完全存储方式与稀疏存储方式之间的转化

  • A=sparse(S):将矩阵 S 转化为稀疏存储方式的矩阵 A。
  • S=full(A):将矩阵 A 转化为完全存储方式的矩阵 S。
>> A=sparse(eye(5))
A =(1,1)        1(2,2)        1(3,3)        1(4,4)        1(5,5)        1
>> B=full(A)
B =1     0     0     0     00     1     0     0     00     0     1     0     00     0     0     1     00     0     0     0     1

直接建立稀疏存储矩阵

  • sparse(m,n):生成一个 m×n 的所有元素都是零的稀疏矩阵。
  • sparse(u,v,S):其中 u、v、S 是3个等长的向量。S 是要建立的稀疏存储矩阵的非零元素,u(i)、v(i)分别是 S(i) 的行和列下标。
>> A=sparse([1,2,2],[2,1,4],[4,5,-7])
A =(2,1)        5(1,2)        4(2,4)       -7
>> B=full(A)
B =0     4     0     05     0     0    -7
  • spconvert(A):A(i,1) 表示第 i 个非零元素所在的行。A(i,2) 表示 第 i 个非零元素所在的列。 A(i,3) 表示第 i 个非零元素值的实部。A(i,4) 表示第 i 个非零元素值的虚部。
>> A=[2,2,1;2,1,-1;2,4,3]
A =2     2     12     1    -12     4     3
>> B=spconvert(A)
B =(2,1)       -1(2,2)        1(2,4)        3

带状稀疏矩阵的稀疏存储:带状稀疏矩阵就是一种十分典型的具有规则结构的稀疏矩阵,它是指 所有非零元素集中在对角线上的矩阵。

  • [B,d]=spdiags(A):从带状稀疏矩阵 A 中提取全部非零对角线元素赋给矩阵 B 及其这些非零对角线的位置向量 d。
  • A=spdiags(B,d,m,n):产生带状稀疏矩阵的稀疏存储矩阵 A,其中 m、n 为原带状稀疏矩阵的行数与列数,矩阵 B 的第 i 列即为原带状稀疏矩阵的第 i 条非零对角线,向量 d 为原带状稀疏矩阵所有非零对角线的位置
>> A =[11,0,0,12,0,0;0,21,0,0,22,0;0,0,31,0,0,32;41,0,0,42,0,0;0,51,0,0,52,0]
A =11     0     0    12     0     00    21     0     0    22     00     0    31     0     0    3241     0     0    42     0     00    51     0     0    52     0
>> [B,d]=spdiags(A)
B =0    11    120    21    220    31    3241    42     051    52     0
d =-303
>> A=spdiags(B,d,5,6)
A =(1,1)       11(4,1)       41(2,2)       21(5,2)       51(3,3)       31(1,4)       12(4,4)       42(2,5)       22(5,5)       52(3,6)       32

单位矩阵的稀疏存储

  • speye(m,n):返回一个 m×n 的稀疏存储单位矩阵。
>> speye(3)
ans =(1,1)        1(2,2)        1(3,3)        1

应用举例:

求下列三对角线性方程组的解
[ 2 3 1 4 1 1 6 4 2 6 2 1 1 ] [ x 1 x 2 x 3 x 4 x 5 ] = [ 0 3 2 1 5 ] \left[ \begin{matrix} 2 & 3 \\ 1 & 4 & 1 \\ & 1 & 6 & 4 \\ & & 2 & 6 & 2 \\ & & & 1 & 1 \end{matrix} \right] \left[ \begin{matrix} x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \end{matrix} \right] {=} \left[ \begin{matrix} 0 \\ 3 \\ 2 \\ 1 \\ 5 \end{matrix} \right] ​21​341​162​461​21​ ​ ​x1​x2​x3​x4​x5​​ ​= ​03215​ ​

>> kf1=[1;1;2;1;0];
>> k0=[2;4;6;6;1];
>> k1=[0;3;1;4;2];
>> B=[kf1,k0,k1];
>> d=[-1;0;1];
>> A=spdiags(B,d,5,5);
>> f=[0;3;2;1;5];
>> x=A\f
x =-0.16670.11112.7222-3.61118.6111

MATLAB教程二:MATLAB矩阵处理相关推荐

  1. 利用Matlab 解决二维矩阵问题

    写在前面 Matlab是一款非常强大的数学计算工具,学习并使用它进行处理一些数据运算,将会非常之高效. 今天有同学问我了一道关于利用Matlab 解决二维矩阵问题,利用空闲时间给他解答,希望能帮助到他 ...

  2. Matlab将二维矩阵三维显示——mesh的使用实例

    [M,N]=size(data); x=1:1:M; y=1:1:N; [X,Y]=meshgrid(x,y); mesh(X,Y,data); shading interp; data为想要3D显示 ...

  3. matlab求解二维矩阵并画图,Matlab教程2_ 绘图 _ 二维(2)

    (作者:lcc) 二维曲线绘图的基本操作 n  plot指令的基本调用格式 (1)plot(x) n  x为向量时,以该元素的下标为横坐标.元素值为纵坐标绘出曲线 n  x为实数二维数组时,则按列绘制 ...

  4. Matlab把二维矩阵画成三维图像

    clear;clc;close all %每个代码都会有的清空数据 Velocity = importdata('速度文件.txt'); %读取数据,是个向量 Velocity=reshape(Vel ...

  5. 【MATLAB】二维矩阵可视化 MATLAB绘图

    基本绘图函数 1.plot(y) 如果y是向量,则采用向量的索引值作为横坐标值,以向量元素的值作为纵坐标值. 如果y是实数矩阵,则相当于对y的每一列进行二维绘图. 如果y是复数组成的向量,则相当于pl ...

  6. spwm逆变器双极性matlab教程,基于MATLAB/Simulink的SPWM逆变电源的建模与仿真

    Electrical Automation 变流技术 Converter Techniques <电气自动化>2014 年第 36 卷 第 3 期 基于 MATLAB/Simulink 的 ...

  7. matlab教程曲线拟合,matlab 曲线拟合

    #include//其中(i),i=1,2...5为改动程序时要变的地方 #include #include #define m 5//*************************(1) voi ...

  8. 【MATLAB教程案例15】基于WOA鲸鱼优化算法的函数极值计算matlab仿真及其他应用

    FPGA教程目录 MATLAB教程目录MATLAB教程目录MATLAB教程目录 ------------------------------------------------------------ ...

  9. matlab 把图像变成二维的,matlab图像怎么变成二维矩阵

    求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...

最新文章

  1. jenkins slave在master显示和运行问题
  2. 可拖拽的ImageButton
  3. PAT甲级1121 Damn Single :[C++题解]哈希表、结构体
  4. android频道编辑实现_短说频道功能详解—构建你社区的小门户
  5. 条件随机场(CRF)相对于HMM,MEMM的优势
  6. Soldier and Traveling
  7. yum搭建lnmp的最简单方法
  8. POJ 3667 Hotel 线段树区间合并
  9. python做前端mongodb_Python爬虫之mongodb和python交互
  10. 单片机c语言入门自学,单片机C语言入门教程
  11. 3种团队分组适应项目_分组团队竞赛活动方案
  12. 金华职业技术学院计算机网络技术考试,金华职业技术学院2016年提前招生计算机应用技术专业测评方案...
  13. OpenCV-图片叠加
  14. Linux系统接口ioc,Linux下SCSI API研究及应用
  15. 听见丨哈罗单车完成10亿元人民币D2轮融资,复星领投 场景化AI应用服务公司百可录完成A轮融资
  16. 复旦大学计算机系专业就业方向,2021年复旦大学专业排行榜,哪个专业就业比较好...
  17. fcpx:火焰特效坍塌爆炸特效高清视频素材Vfx-Starter-Pack
  18. 论文写作-调研如何去写你的论文
  19. 贝尔宾九种团队角色理论总结(转)
  20. C++取整,四舍五入

热门文章

  1. 【华人学者风采】郑宇 京东
  2. 好心情精神心理医生:出现这些早期症状,你可能得了双相情感障碍
  3. 从图森未来到通用、谷歌,自动驾驶怎么样了?
  4. 三边是整数的直角三角形的解
  5. 【解决方案】宠物医院如何实现顾客医院联动的安全监控?EasyCVR视频图像智能分析远程监控方案介绍
  6. Xilinx FPGA输入输出缓冲 BUF 的使用
  7. 华为虚拟化FusionCompute知识点总结
  8. 3dmax2014 uv用法_3DSMAX演示一个硬表面模型UV展开的方法
  9. IG痛失亚军,含泪夺冠,奖杯是用区块链的技术合成的你知道吗
  10. 下载最新的百度地图瓦片