MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

MATLAB基本运算单元为矩阵,所以我们需要了解对矩阵的一些简单的语法操作。


1、如何生成一个矩阵(来自百度)

(1)元素输入法

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

(2)设定步长生成

形式为: A=a:inc:b

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

可以看出a为初值,inc为步长,b为终值(界限) 相当于生成了一个等差数列

注意当省略步长的时候,默认步长为1

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

(3)均匀采样生成

格式为 A=linspace(a,b,n)

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

可以看出,a为初值,b为终值,n为分成的份数,也是生成了一个等差数列

(4)特殊矩阵的生成方法

  • A=[] %空矩阵
  • A=zeros(2,3) %生成元素全为零的2x3矩阵
  • A=ones(2,3) %生成元素全为1的2x3矩阵
  • A=rand(2,4) %生成随机的2x5矩阵
  • 矩阵的提取(ps:矩阵提取还可以通过其他方式提取,通过逻辑矩阵,暂时不介绍):

A=[1:5;6:10;3:7]

B=A(2:3,2:4) %提取矩阵A的第2,3行与第2,3,4列交叉处的元素。

  • A=magic(3) %创建魔方矩阵。
  • A=eye(3,4) %使用eye(m,n)可得到一个允许的最大单位矩阵,其余处补0。

此处特别讲解一下矩阵的提取

涉及到冒号:的使用,之前其实已经讲过

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

先举一个简单的例子

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

现在想提取位于第2-3行 第2-4列的元素

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

当然也可以隔行隔列提取

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

如果想要提取所有的行,第1 3 5列的元素

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

这里还有一个技巧:

end的使用用于提取矩阵

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

归纳:B=A(i,j)

i j可以是数 也可以是向量

当i 为向量时,比如i=[1 2 4]; 即提取A的第1 2 4行 j同理

ps: 还有一种常用的提取矩阵元素的方法

当A为二维矩阵

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

有如下方法:

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

想必大家对于第二种方法有疑问,这里就涉及到MATLAB中矩阵存储形式了,不管怎么样,计算机是串行存取数据的,

那么矩阵又是如何存储的,肯定要先按成一维向量存取,最后知道分界线即可!!!(个人猜测)

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作


然后介绍一些矩阵的简单操作

MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作MATLAB之基本语法之矩阵生成及矩阵提取及矩阵操作

基本上这些,剩余对矩阵操作的命令都可以百度的,哈哈