我有 2 列使用 textscan 导入的数据。数据看起来像这样,其中U is undetect and D is detect
mydata=
.51 U
.57 D
.48 U
.47 D
my data = [4x1 double] [4x1 char]
我想按第一列对数据进行排序,因此数据将如下所示
.47 D
.48 U
.51 U
.57 D
我想保留单元结构,以便以下分配逻辑值的命令仍然有效:
c = zeros(size(mydata,1),1); % preallocate empty matrix
c = mydata{2} == 'U';
for i = 1:size(mydata,1)
curValue = mydata{i,2};
data{i,3} = ~isempty(curValue) && ischar(curValue) && strcmp(curValue ,'U');
end
我读到了有关 sortrows 的内容,但该函数用于对仅包含数字的矩阵进行排序。
有谁有对混合数字和字符的数组进行排序的解决方案。
You can SORT http://www.mathworks.com/help/techdoc/ref/sort.html按一个向量并将排序索引应用于另一个向量。
[mydata{1},idx] = sort(mydata{1});
mydata{2} = mydata{2}(idx);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)