MATLAB基本运算单元为矩阵,所以我们需要了解对矩阵的一些简单的语法操作。
1、如何生成一个矩阵(来自百度)
(1)元素输入法
(2)设定步长生成
形式为: A=a:inc:b
可以看出a为初值,inc为步长,b为终值(界限) 相当于生成了一个等差数列
注意当省略步长的时候,默认步长为1
(3)均匀采样生成
格式为 A=linspace(a,b,n)
可以看出,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。
此处特别讲解一下矩阵的提取
涉及到冒号:的使用,之前其实已经讲过
先举一个简单的例子
现在想提取位于第2-3行 第2-4列的元素
当然也可以隔行隔列提取
如果想要提取所有的行,第1 3 5列的元素
这里还有一个技巧:
end的使用用于提取矩阵
归纳:B=A(i,j)
i j可以是数 也可以是向量
当i 为向量时,比如i=[1 2 4]; 即提取A的第1 2 4行 j同理
ps: 还有一种常用的提取矩阵元素的方法
当A为二维矩阵
有如下方法:
想必大家对于第二种方法有疑问,这里就涉及到MATLAB中矩阵存储形式了,不管怎么样,计算机是串行存取数据的,
那么矩阵又是如何存储的,肯定要先按成一维向量存取,最后知道分界线即可!!!(个人猜测)
然后介绍一些矩阵的简单操作
基本上这些,剩余对矩阵操作的命令都可以百度的,哈哈
请发表评论