gpt4 book ai didi

sorting - 如何按一列 float 对 Octave 中的元胞数组进行排序?

转载 作者:行者123 更新时间:2023-12-04 15:02:44 26 4
gpt4 key购买 nike

我在 Octave 中创建了一个元胞数组。有些列包含浮点数,有些列包含字符串。我可以使用以下命令按一列字符串(例如 col #4)对单元格数组进行排序:

sortrows (mycellarray, 4);

但是如果我要排序的列是一列浮点数,那么我会收到以下错误消息:
error: sort: only cell arrays of character strings may be sorted

有谁知道如何通过一列浮点数对单元格数组进行排序?

最佳答案

将具有浮点值的列转换为向量,对其进行排序并获取排序索引。然后您可以将此索引应用于您的元胞数组。

mycellarray = {'a',1,0.5; 'b',2,0.1; 'c',3,4.5; 'd',4,-3.2};
vector2sort=cell2mat(mycellarray(:,3));
[~,idx] = sort(vector2sort)
mycellarraysorted = mycellarray(idx,:);

然而,在某些版本的 Octave 中,波浪号 ~运算符未定义。在这种情况下:
vector2sort = mycellarray(:,3); 
[dummy,idx] = sort(vector2sort);
mycellarraysorted = mycellarray(idx,:);

关于sorting - 如何按一列 float 对 Octave 中的元胞数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com