【问题标题】:Matlab compare cell numbers not working string arraysMatlab比较单元格编号不起作用的字符串数组
【发布时间】:2016-06-01 00:31:26
【问题描述】:

我在使用 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,'

如何比较它们并检索这些共同值?

我不知道我应该使用字符串还是值数组。

感谢您的帮助

【问题讨论】:

  • 你的字符串总是代表数值吗?
  • 另外,您要获取元胞数组中每个元胞共有的值吗?

标签: arrays string matlab cell cells


【解决方案1】:

没关系,我不得不使用嵌套的“for”循环将每个单元格上的每个值与其他单元格进行比较 我应该检查有关多级访问单元的文档,这里是链接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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-11
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2019-07-03
    • 1970-01-01
    相关资源
    最近更新 更多