该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内积
cross(x, y): 向量x和y的外积(大部份的向量函数也可适用於矩阵,详见下述。)
若要输入矩阵,则必须在每一列结尾加上分号(;),如下例:
A = [1 2 3 4; 56 7 8; 9 1011 12];
A=
1 2 3 4
5 6 7 8
9 1011 12
同样地,我们可以对矩阵进行各种处理:
A(2,3) = 5 % 改变位於第二列,第三行的元素值
A=
1 2 3 4
5 6 5 8
9 1011 12
B = A(2,1:3) % 取出部份矩阵B
B = 5 65
A = [A B*] % 将B转置后以行向量并入A
A=
1 2 3 4 5
5 6 5 8 6
9 1011 12 5
A(:, 2) = [] % 删除第二行(:代表所有列)
A=
1 3 4 5
5 5 8 6
9 1112 5
A = [A; 4 3 2 1]% 加入第四列
A=
1 3 4 5
5 5 8 6
9 11 12 5
4 3 2 1
A([1 4], :) = []% 删除第一和第四列(:代表所有行)
A=
5 5 8 6
9 11 12 5
这几种矩阵处理的方式可以相互叠代运用,产生各种意想不到的效果,就看各位的巧思和创意。
小提示:在MATLAB的内部资料结构中,每一个矩阵都是一个以行为主(Column-oriented )的阵列(Array)因此对於矩阵元素的存取,我们可用一维或二维的索引(Index)来定址。举例来说,在上述矩阵A中,位於第二列、第三行的元素可写为A(2,3) (二维索引)或A(6)(一维索引,即将所有直行进行堆叠后的第六个元素)。
此外,若要重新安排矩阵的形状,可用reshape命令:
B = reshape(A,4, 2) % 4是新矩阵的列数,2是新矩阵的行数
B =
5 8
9 12
5 6
11 5
小提示: A(:)就是将矩阵A每一列堆叠起来,成为一个行向量,而这也是MATLAB变数的内部储存方式。以前例而言,reshape(A, 8, 1)和A(:)同样都会产生一个8x1的矩阵。
MATLAB可在同时执行数个命令,只要以逗号或分号将命令隔开: