我有一个excel文件,我从中获得了两个字符串数组,{62}引入了维度6264x1,另一个Titles
维度为45696x1。我想创建一个大小为6264x45696的输出矩阵,其中包含元素a 1或0,如果Names
包含Titles
则为1。
我想我想要的是:
Names
但我不知道应该用什么功能来实现我在图片中所拥有的功能。以下是我的想法:
for (j in Names)
for (k in Titles)
if (Names[j] is in Titles[k])
write to excel
end
end
end
此代码的问题在于它永远不会运行,尽管matlab中没有任何建议。
答案 0 :(得分:1)
您可以使用unique
的第三个输出来获取与每个字符串元素对应的数字,并使用bsxfun
来比较数字。
GN = cellstr(Name);
A = cellstr(Title);
B = [ GN(:); A(:)];
[~,~,u]= unique(B);
BinaryaMatrix = bsxfun(@eq, u(1:numel(GN)),u(numel(GN)+1:end).');
答案 1 :(得分:1)