MATLAB 方便而又意想不到的函数

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);

在这里插入图片描述

find

  • k = find(X,n)

    • 返回矩阵 X 中前 n 个非零元素的索引
    • 若省去 n 则返回所有非零元素索引
    • 若要查询等于 a 的位置,可以用 X == a 表示,同样查询小于 a 的位置可以用 X < a 表示
  • [row, col] = find(X,n)

    • 返回矩阵 X 中满足要求的横坐标和纵坐标
  • 如果仅仅要得到矩阵中满足要求的元素,可以用以下的逻辑形式改善性能

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)

在这里插入图片描述

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')
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值