You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中根据指定函数计算结果对矩阵行进行排序

Matlab 按指定向量对矩阵行排序的实现方法

核心逻辑:Matlab 内置的sort函数支持返回第二个输出参数,即排序后元素对应原数组的位置索引,利用该索引即可同步调整原矩阵的行顺序,实现与fx排序结果的完全匹配。

  • 基础实现(按fx升序调整a的行顺序)
    不要直接对fx赋值排序后的结果,改为获取排序索引后再提取矩阵:

    % 原有代码
    a = rand(4,4);
    fx = sum(a,2);
    
    % 新增排序逻辑
    [~, idx] = sort(fx); % ~为占位符,忽略第一个返回的排序后fx值,仅保留索引
    sorted_a = a(idx, :); % 按索引顺序提取a的所有行,得到排序后的矩阵
    
  • 扩展场景

    • 若需要同时保留排序后的fx值,将占位符~替换为自定义变量即可:
      [sorted_fx, idx] = sort(fx);
      sorted_a = a(idx, :);
      
    • 若需要按fx降序排序,给sort添加'descend'参数:
      [~, idx] = sort(fx, 'descend');
      sorted_a = a(idx, :);
      

内容的提问来源于stack exchange,提问作者dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:36:03