gpt4 book ai didi

matlab - 整理 list

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:56 28 4
gpt4 key购买 nike

我相当确定(在 MATLAB 中)应该有一个优雅的解决方案,但我现在想不起来。

我有一个包含 [classIndex, start, end] 的列表,我想将连续的类索引折叠成一个组,如下所示:

这个

 1     1    40
2 46 53
2 55 55
2 57 64
2 67 67
3 68 91
1 94 107

应该变成这样

 1     1    40
2 46 67
3 68 91
1 94 107

我该怎么做?

编辑

没关系,我想我明白了 - 它几乎像 fmarc's solution , 但得到正确的索引

a=[  1     1    40
2 46 53
2 55 55
2 57 64
2 67 67
3 68 91
1 94 107];

d = diff(a(:,1));
startIdx = logical([1;d]);
endIdx = logical([d;1]);
b = [a(startIdx,1),a(startIdx,2),a(endIdx,3)];

最佳答案

这是一种解决方案:

Ad = find([1; diff(A(:,1))]~=0);
output = A(Ad,:);
output(:,3) = A([Ad(2:end)-1; Ad(end)],3);
clear Ad

关于matlab - 整理 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2455050/

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