Matlab 比较单元格编号不工作字符串数组
Matlab compare cell numbers not working string arrays
我在使用 matlab 时遇到了一些困难,我无法比较单元格与值
我有一个 1x14 单元格的变量 IN,每个单元格可以有一个字符串或一个值数组,每个单元格有不同的长度
的示例字符串
IN(1,1) = '1,2,3,8,10,11,12,'
的示例数组
IN(1,2) = [1x10 double]
在 IN(1,2) 中的意思是我有 10 个单元格,每个单元格都有一个值
1 2 3 7 9 10 11 12 13 14
所以 IN(1,1) 有 7 个值,IN(1,2) 有 10 个值
................
假设我只使用像
这样的数组
IN(1,1) 我有 7 个单元格,每个单元格都有一个值
1 2 3 8 10 11 12
IN(1,2) 我有 10 个单元格,每个单元格都有一个值
1 2 3 7 9 10 11 12 13 14
我想知道 IN(1,1) 的哪些值可以在 IN(1,2) 中找到
在这种情况下,IN(1,2) 是 1 2 3 10 11 12
中 IN(1,1) 的成员
................
或者如果它们是字符串
IN(1,1) = '1,2,3,8,10,11,12,'
IN(1,1) = '1,2,3,7,9,10,11,12,14,'
如何比较它们并检索这些共同值?
我不知道我应该使用字符串还是数值数组。
感谢您的帮助
没关系,我不得不使用嵌套 'for' 循环来比较每个单元格上的每个值与其他单元格
我应该查看有关单元格多级访问的文档,这里是 link https://au.mathworks.com/help/matlab/matlab_prog/multilevel-indexing-to-access-parts-of-cells.html
无论如何谢谢
这是我的多层访问代码,逐个单元格与所有单元格进行比较并提取它们之间的共同值
for(c=1:length(nx))
NB_V1=IN{1,c};
for cc=1:(length(nx)-c)
NB_VCC=IN{1,c+cc};
display(['comparing database ' num2str(c) ' with ' num2str(cc+c) ])
for ccc=1:(length(NB_V1))
NB_V2=NB_V1(1,ccc);
for cccc=1:(length(NB_VCC))
NB_VCC2=NB_VCC(1,cccc);
if (NB_V2 == NB_VCC2);
display(['matching ' num2str(NB_V2) ' between ' num2str(c) ' and ' num2str(cc+c)])
end
end
end
end
end
我在使用 matlab 时遇到了一些困难,我无法比较单元格与值
我有一个 1x14 单元格的变量 IN,每个单元格可以有一个字符串或一个值数组,每个单元格有不同的长度
的示例字符串IN(1,1) = '1,2,3,8,10,11,12,'
的示例数组
IN(1,2) = [1x10 double]
在 IN(1,2) 中的意思是我有 10 个单元格,每个单元格都有一个值 1 2 3 7 9 10 11 12 13 14
所以 IN(1,1) 有 7 个值,IN(1,2) 有 10 个值
................
假设我只使用像
这样的数组IN(1,1) 我有 7 个单元格,每个单元格都有一个值 1 2 3 8 10 11 12
IN(1,2) 我有 10 个单元格,每个单元格都有一个值 1 2 3 7 9 10 11 12 13 14
我想知道 IN(1,1) 的哪些值可以在 IN(1,2) 中找到 在这种情况下,IN(1,2) 是 1 2 3 10 11 12
中 IN(1,1) 的成员................
或者如果它们是字符串
IN(1,1) = '1,2,3,8,10,11,12,'
IN(1,1) = '1,2,3,7,9,10,11,12,14,'
如何比较它们并检索这些共同值?
我不知道我应该使用字符串还是数值数组。
感谢您的帮助
没关系,我不得不使用嵌套 'for' 循环来比较每个单元格上的每个值与其他单元格 我应该查看有关单元格多级访问的文档,这里是 link https://au.mathworks.com/help/matlab/matlab_prog/multilevel-indexing-to-access-parts-of-cells.html
无论如何谢谢 这是我的多层访问代码,逐个单元格与所有单元格进行比较并提取它们之间的共同值
for(c=1:length(nx))
NB_V1=IN{1,c};
for cc=1:(length(nx)-c)
NB_VCC=IN{1,c+cc};
display(['comparing database ' num2str(c) ' with ' num2str(cc+c) ])
for ccc=1:(length(NB_V1))
NB_V2=NB_V1(1,ccc);
for cccc=1:(length(NB_VCC))
NB_VCC2=NB_VCC(1,cccc);
if (NB_V2 == NB_VCC2);
display(['matching ' num2str(NB_V2) ' between ' num2str(c) ' and ' num2str(cc+c)])
end
end
end
end
end