【发布时间】:2014-05-16 13:13:21
【问题描述】:
我有一个双精度类型的 4554 x 1 向量,称为 company_info,ind_vec。我还有另一个 25 x 1 向量,它是称为 groups.industy_labels 的单元格数组类型。
groups.industy_labels 包含一个数字代码列表。 company_info,ind_vec 包含相同的数字代码。
我计划执行以下操作,其中我使用 ismember 返回 groups.industy_labels 中每个数字代码的索引,然后对与 company_info,ind_vec 相关的另一个向量求和,即另一个 4554 x 1 向量。
[~, index_sub] = ismember(company_info.ind_vec, groups.industy_labels);
groups.industy_exps(:, 1) = accumarray(index_sub, pwgt , [], @sum, 0);
但是 Matlab 告诉我 ismember 只接受字符串的单元格数组。还有其他方法吗?
【问题讨论】:
-
先尝试将该元胞数组转换为双精度数组? -
ismember(company_info.ind_vec, cell2mat(groups.industy_labels))
标签: matlab