MATLAB的一个重要功能及其特色即向量和矩阵运算。在MATLAB中向量和矩阵主要由数组表示,数组是MATLAB的核心数据结构。本章重点介绍数组及数组的运算。
MATLAB数组
数组是MATLAB中的基本构件,数组中的单个数据项称为元素。任何变量在MATLAB中都是以数组形式存储和运算的。
按照数组元素个数和排列方式分类
(1)没有元素的空数组(empty array)
(2)只有一个元素的标量,实际上是一行一列的数组。
(3)行向量(row vector)或列向量(column vector)
(4)一般的二维数组
(5)多维数组,具有行、列、页等多个维度
对于N维数组A中的元素,它的位置由一个包含N个索引值得向量给定。
MATLAB中可以使用size函数返回一个N维数组的大小,返回值是一个向量,而length函数则返回数组的最大维度,范围值是一个int整数。
例子:
clear all;clc;
A(:,:,1) = magic(4); % 第一页
A(:,:,2) = ones(4); % 第二页
A(:,:,3) = zeros(4); % 第三页
A
%%
size(A) % A的形状
length(A) % A的最大维度
创建数组
实际上,之前的例子中我们已经了解了创建MATLAB数组的方法:直接输入或者内置函数。
再次强调,数组中用逗号或者空格表示同一行数据的间隔(列),用分号表示行的分隔,用冒号表示从某行到某行。
例子
clear all; clc;
A = [2 5 7; 1, 3, 42]; % 注意空格,逗号和分号
x = zeros(3, 2);
y = ones(3, 4);
%%
z = [x y] % 两个行相等的数组合并用空格或者逗号
%%
z2 = [A; y(:, 1:3)] % 两个列