>> a=rand(1,7)*10
a =
0.5395 5.3080 7.7917 9.3401 1.2991 5.6882 4.6939
>> b=sort(a) %b为a元素从小到大排序构成的行向量
b =
0.5395 1.2991 4.6939 5.3080 5.6882 7.7917 9.3401
>> [b,index]=sort(a) %b为排序结果,同上;index为b对应元素在a中原来的位置下标
b =
0.5395 1.2991 4.6939 5.3080 5.6882 7.7917 9.3401
index =
1 5 7 2 6 3 4
[b,index]=sort(a,dim,mode)
.dim=1
进行分列排序,但可以省略;dim=2
为分行排序。mode='descend'
降序排序;mode='ascend'
升序排序。
>> a=rand(4,4)*10
a =
0.1190 3.1122 2.6297 4.5054
3.3712 5.2853 6.5408 0.8382
1.6218 1.6565 6.8921 2.2898
7.9428 6.0198 7.4815 9.1334
>> [b,index]=sort(a,1,'ascend') %按列升序排序
b =
0.1190 1.6565 2.6297 0.8382
1.6218 3.1122 6.5408 2.2898
3.3712 5.2853 6.8921 4.5054
7.9428 6.0198 7.4815 9.1334
index =
1 3 1 2
3 1 2 3
2 2 3 1
4 4 4 4
>> [b,index]=sort(a,2,'descend') %按行降序排序
b =
4.5054 3.1122 2.6297 0.1190
6.5408 5.2853 3.3712 0.8382
6.8921 2.2898 1.6565 1.6218
9.1334 7.9428 7.4815 6.0198
index =
4 2 3 1
3 2 1 4
3 4 2 1
4 1 3 2
函数名 | 说明 | 返回值类型 |
---|---|---|
isempty() | 检测数组是否为空 | 逻辑真值 |
isscalar() | 检测是否为单元素标量数组 | 逻辑真值 |
isvector() | 检测是否为行/列向量 | 逻辑真值 |
issparse() | 检测是否为稀疏数组 | 逻辑真值 |
>> A=rand(3,4)*10
A =
1.5238 9.9613 1.0665 7.7491
8.2582 0.7818 9.6190 8.1730
5.3834 4.4268 0.0463 8.6869
>> [a,b]=size(A)
a =
3
b =
4
>> a=size(A)
a =
3 4
*
,如果是想要对应元素分别相乘,应当使用.*
。