本文共 2612 字,大约阅读时间需要 8 分钟。
函数名 | 作用 |
---|---|
size(x) | 用于求矩阵x的大小。 |
sort(x) | 可对x进行升序排序或降序排列。 |
find(x) | 返回向量或矩阵中不为0的元素的索引。 |
numl(A) | 返回数组A中元素的个数。 |
ismember(A,B) | 判断B中成员和A成员是否相等,相等的位置用1,否则用0。 |
findstr(A,B)/strfind(A,B) | 在A、B中较长的字符串中查找较短的字符串出现的次数。 |
setdiff(A,B) | 返回在数组A中有而B中没有的值,结果向量按升序排序返回。 |
intersect(A,B) | 返回A和B共有的数据,不包含重复项,结果按升序排序。 |
unique(A) | 去掉矩阵A中的重复元素,按升序排序。 |
size(x)用于获取矩阵x的行数和列数。
示例:
假设矩阵A为3×4的矩阵:A = ones(3,4); size(A) % 直接显示矩阵大小
输出:
3 4或者通过rows和cols获取:
[r, c] = size(A);
输出:
r = 3, c = 4sort(x)可以对向量、矩阵、数组等进行升序或降序排序。
示例:
A = magic(3); % 3×3的矩阵,满足幻方性质 A = 8 1 6 3 5 7 4 9 2 sort(A) % 对每一列进行升序排序 ans = 3 1 2 4 5 6 8 9 7 Y = sort(X, 'descend') % 按降序排序 Y = 9 8 7 6 5 4 3 2 1 当DIM指定时: ```matlab Y = sort(A, 2, 'descend') % 按列排序 Y = 8 3 4 9 5 2 7 6 1 ---### 3、find(x):查找不为0的元素位置find(x)用于返回向量或矩阵中不为0的元素的位置索引。 - 默认返回所有非零元素的索引。 - 可通过参数指定返回前k个或最后k个元素。 - 也可以返回非零元素的值及位置。 **示例:** ```matlab X = [1 -3 0; 0 0 8; 4 0 6]; X = 1 -3 0 0 0 8 4 0 6 k = find(X) % 返回所有非零元素的索引 k = 1 5 7 8 9 ind = find(X, 2) % 返回前2个非零元素的索引 ind = 1 3 ind = find(X, 2, 'last') % 返回最后2个非零元素的索引 ind = 8 9 [i, j, v] = find(A) % 返回非零元素的位置和值 A = [3 2 0; -5 0 7; 0 0 1]; [i, j, v] = 1 1 3 2 1 -5 1 3 1
numl(A)用于返回数组A中元素的总数。
示例:
A = [1, 2, 3]; numl(A)
输出:
3ismember(A,B)用于判断B中成员和A中成员是否相等,返回1表示相等,0表示不等。
示例:
A = [5 3 4 2]; B = [2 4 4 4 6 8]; Lia = ismember(A, B); Lia = 0 0 1 1
示例:
s = 'Find the starting indices of the shorter string.' findstr(s, 'the') % 在s中查找'the'出现的次数 ans = 6 30 strfind(s, 'in') % 在s中查找'in'出现的位置 ans = 2 15 19 45 strfind(s, 'In') % 整个搜索不区分大小写 ans = []
setdiff(A,B)返回A中有而B中没有的值,结果按升序排序。
示例:
A = [1, 2, 3]; B = [2, 4, 5]; C = setdiff(A, B); C = [1, 3] 当A和B为矩阵时: ```matlab A = [1, 2; 3, 4]; B = [2, 5; 4, 6]; C = setdiff(A, B, 'rows'); % 按行比较 C = [1, 0; 3, 5]
intersect(A,B)返回A和B共有的数据,不包含重复项,结果按升序排序。
示例:
A = [1, 2, 3]; B = [2, 3, 4]; C = intersect(A, B); C = [2, 3] 当A和B为矩阵时: ```matlab A = [1, 2; 3, 4]; B = [2, 3; 4, 5]; C = intersect(A, B); C = [2, 3]
unique(A)去掉矩阵A中的重复元素并按升序排序。
示例:
A = [1, 2, 2, 3]; B = unique(A); B = [1, 2, 3] 当unique(A, 'rows')时: ```matlab A = [1, 2; 2, 3]; B = unique(A, 'rows'); B = [1, 2; 3]
以上是MATLAB中常用矩阵操作函数的详细介绍,希望对您有所帮助!
转载地址:http://sjewz.baihongyu.com/