一、基本概念
在MATLAB中,size函数是用于获取矩阵的行数和列数的函数。对于多维的矩阵,size函数还可以获取它们的第三维、第四维等等。
size函数返回的结果是一个包含矩阵各维度的行向量,例如3×4的矩阵A,size(A)返回的结果是1×2的行向量[3,4]。
A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
s = size(A);
disp(s);
上述代码将会输出 1 3,4。
二、size函数的应用
1. 获取矩阵的大小
size函数最基本的应用就是获取矩阵的大小,如上文中的例子所示。在处理数据前,我们需要先明确数据的维度和大小,以便进行下一步操作。
2. 判断矩阵的维度
size函数还可以判断矩阵的维度,通过查看size函数返回值的长度来判断,例如:
A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
[r,c] = size(A);
if length(s)==2
% 矩阵A是二维矩阵
end
3. 判断矩阵是否为空矩阵
空矩阵,即没有元素的矩阵,可以用size函数来判断。
A = [];
s = size(A);
if s(1)==0 && s(2)==0
% 矩阵A是空矩阵
end
4. 获取子矩阵的大小
当处理大型矩阵时,可能需要对矩阵进行分块或截取。使用size函数可以很方便地获取子矩阵的大小。
A = [1 2 3; 4 5 6; 7 8 9];
B = A(2:3,2:3);
s = size(B);
上述代码将会输出 2 2,也就是子矩阵B的大小为2行2列。
5. 获取向量的长度
对于向量来说,size函数还可以用来获取其长度。
v = [1 2 3 4 5];
l = size(v,2);
% l=5
三、总结
在MATLAB中,size函数是一个非常常用的函数,用于获取矩阵的大小、判断矩阵的维度和是否为空矩阵、获取子矩阵的大小以及获取向量的长度等等。良好的理解和使用size函数对于MATLAB的编程非常重要。