sort
-
sort(A,dim)
- 对 A 中元素按一定顺序进行排列,默认 dim = 1,对每一列排序。
- 注意 sort 会对每一列的数据进行排序,会破坏同一行之间的对应关系
-
[B,I] = sort(A,dim)
- 返回的 B 为对应排序后的矩阵,返回的矩阵 I 的第 i 行表示排序后的第 i 行是原矩阵 A 的第 I(i) 行。
- 要对矩阵 A 根据第一列排序,应用如下代码进行:
A = [1 5 6;5 9 4;3 5 7;6 8 2];
[B,I] = sort(A(:,1));
C = zeros(4,3);
for i = 1:4
C(i,:) = A(I(i),:);
end
disp(A);
disp(C);
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dd6beacd515fb49f9d8f3a8391e41aba.png)
find
-
k = find(X,n)
- 返回矩阵 X 中前 n 个非零元素的索引
- 若省去 n 则返回所有非零元素索引
- 若要查询等于 a 的位置,可以用 X == a 表示,同样查询小于 a 的位置可以用 X < a 表示
-
[row, col] = find(X,n)
-
如果仅仅要得到矩阵中满足要求的元素,可以用以下的逻辑形式改善性能
clear
A = [1 5 6;5 9 4;3 5 7;6 8 2];
L = A <= 4
B = A(A <= 4)
C = A.*(A <= 4)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b51221566a4578a5f6c452e472418b18.png)
gscatter
-
gscatter(x,y,g,color,marker,size)
- 以 x 为x轴,y 为y轴,根据 g 的对应分类情况作散点图
- g 必须和 x、y相同维度,可以是数字表示,也可以是分类变量
- color 表示颜色,marker 是符号,size 是大小
load discrim
gscatter(ratings(:,1),ratings(:,2),group,'br','xo')
xlabel('climate')
ylabel('housing')