算数是matlab中的一大功能。。。。本篇是讲算数的,所以,只涉及‘算数’
数组之类的运算
向量
向量(其实就是数组,如果用编程语言来理解),的创建方法有很多中。由于是基础中的基础,我例子就不会太多(so easy)
向量的基本操作也很简单:
当然,is系列还有好多的,数组测量系列也有好多呢。关键是,矩阵的每行每列都是向量,所以,这些函数基本上可以再矩阵上用。
矩阵
矩阵的创建,基本上是向量的创建的升级版,一般采用的是直接输入,但是,一旦矩阵大了,就会好麻烦。所以产生了很多矩阵的复制和拼接函数:
其实meshgrid多用来在绘图时创建网格
repmat可以复制并拼接,调用方法是:B = repmat(A,m,n); A是原矩阵,m,n,表示在某个维度的复制倍数
如:
cat之类的函数都是用来连接矩阵的
调用的一般格式是 cat(dim,a,b,c,....),其中dim是拼接的方法,a,b,c,等是原矩阵
如:
矩阵的基本操作
矩阵基本操作主要包含3个方面:
- 矩阵元素的标识
- 子矩阵块的寻访与赋值
- 矩阵重塑
矩阵元素标识一般又有三种方法:
例如m*n的矩阵A
- 全下标方法 即教课书上常用的A(i,j),代表 i 行 j 列
- 单下标方式 是一种类似存储方式的计数标识, A(s),其中s = (i-1)*m+j,列优先
- 逻辑1方式 即比较一下,如Loc = A>num,返回A中元素大于num的下表向量
子矩阵块的寻访与赋值
子矩阵块是由对应矩阵中取出一部分元素构成的,子矩阵的寻访和赋值是经常要处理的事。
矩形重塑
说的很高端,其实就是改变矩阵的行数和列数,其中涉及到获取矩阵的大小形状的信息。
常用的函数有:
这里及介绍reshape的调用方法 B = reshape(A,m,n,.....),其中A是原矩阵,m,n等表示新的该维度的向量的长度。
比如:
空数组
空数组这个东西很奇特,可以用它来删除矩阵中的一个向量啊什么的。。。。
比如: