有没有比find()更快的函数?

时间:2015-02-09 19:42:20

标签: matlab

我有两个单元格数组“data1”“data2”。对于“data1”的每一行,我会在“data1”和“data2”之间找到尊重字符串和数字(​​见下文)条件的行数。我试图使用“查找”功能,但我发现它不是很快。是否有比“查找”更快的功能?这是我的代码:

for lineData1 = 1 : size(data1,1) 

        vectorData = find( ( cell2mat(data2(2:size(data2,1),1)) == data1{lineData1,2} | cell2mat(data2(2:size(data2,1),2)) == data1{lineData1,2} ) & ...
            strcmp(data2(2:size(data2,1),4),data1{lineData1,3}) & ...
            strcmp(data2(2:size(data2,1),5),data1{lineData1,4}) & ...
            strcmp(data2(2:size(data2,1),6),data1{lineData1,5}) & ...
            cell2mat(data2(2:size(data2,1),7)) == data1{lineData1,6} & ...
            cell2mat(data2(2:size(data2,1),8)) == data1{lineData1,7} );
        %%% vectorData = vectorData + 1;

        data1{lineData1,1} = size(vectorData,1);
    end

非常感谢你的帮助。

0 个答案:

没有答案