在 Matlab 中迭代唯一值
Iterating Over Unique Values in Matlab
我一直在尝试遵循 this answer 以便从给定的元胞数组中获取唯一的字符串。但是,我 运行 在遍历这些值时遇到了麻烦。我试过如下循环:
[unique_words, ~, occurrences] = unique(words);
unique_counts = hist(occurrences, 1:max(occurrences));
for a=1:numel(unique_words)
word = unique_words{a}
count = unique_counts{a}
result = result + a_struct.(unique_words{a}) + unique_counts{a}
end
当尝试引用这样的项目时,我收到错误消息:
Cell contents reference from a non-cell array object.
将 unique_couts
的花括号更改为圆括号会产生错误:
Reference to non-existent field 'N1'.
将 unique_words
和 unique_counts
都更改为圆括号产生:
Argument to dynamic structure reference must evaluate to a valid field name.
如何迭代 unique 的结果?
unique_words
是一个元胞数组。 unique_counts
是一个向量。因此 unique_words
应该使用大括号访问,unique_counts
使用圆括号访问。在这种情况下,您遇到的错误与 a_struct
(问题中未定义)没有相应的字段有关,而不是访问方法。
我一直在尝试遵循 this answer 以便从给定的元胞数组中获取唯一的字符串。但是,我 运行 在遍历这些值时遇到了麻烦。我试过如下循环:
[unique_words, ~, occurrences] = unique(words);
unique_counts = hist(occurrences, 1:max(occurrences));
for a=1:numel(unique_words)
word = unique_words{a}
count = unique_counts{a}
result = result + a_struct.(unique_words{a}) + unique_counts{a}
end
当尝试引用这样的项目时,我收到错误消息:
Cell contents reference from a non-cell array object.
将 unique_couts
的花括号更改为圆括号会产生错误:
Reference to non-existent field 'N1'.
将 unique_words
和 unique_counts
都更改为圆括号产生:
Argument to dynamic structure reference must evaluate to a valid field name.
如何迭代 unique 的结果?
unique_words
是一个元胞数组。 unique_counts
是一个向量。因此 unique_words
应该使用大括号访问,unique_counts
使用圆括号访问。在这种情况下,您遇到的错误与 a_struct
(问题中未定义)没有相应的字段有关,而不是访问方法。