前置---matlab 2017b 基础,数组,矩阵及其索引(二)

所有 MATLAB 变量都是多维数组,与数据类型无关。
一维数组可以理解成向量,二维数组可以理解成矩阵。、
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
行向量,每个元素用空格或者逗号(,)隔开
如果是分号隔开,就是列向量。
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
向量可以做加减乘除的操作,对每一个元素都进行该运算
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
向量的转置,用单引号(’),把行列向量之间相互转换。
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
想获取向量中的单个元素,用索引下标:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
它跟c语言不一样,和python很像,元素个数是从1开始。
还可以用start:step:end形式创建向量:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
跟python一样,能进行切片。考虑到matlab第一个商业版本出现于1984年,应该说python是模仿得它:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
切片第2个元素到最后一个元素,我尝试了下:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
那就尝试下
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
成功。

获取向量最小元素min,最大元素max,求累加sum:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
行向量颠倒fliplr:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
列向量颠倒flipud:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)

如果想创建矩阵(二维数组),用分号分隔各行。
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
元素下标:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
可见它是先数列,再数行。
也可以通过a(行,列)来获取单个元素
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
利用:,或者,:操作符来获取整个列或者行。
比如想获取第2行:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)

想获取第3列:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
切一个小部分出来:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
矩阵也可以转置:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
矩阵fliplr颠倒是只对每一行颠倒,如果想对列颠倒,用flipud
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
还可以通过eye(n)创建单元矩阵:
前置---matlab 2017b 基础,数组,矩阵及其索引(二)
zeros(m,n)来创建mn的零矩阵,ones(m,n)来创建mn的1矩阵。
前置---matlab 2017b 基础,数组,矩阵及其索引(二)