Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Matlab在单元格数组中查找字符串,报告行_String_Matlab_Indexing_Find_Cell - Fatal编程技术网

String Matlab在单元格数组中查找字符串,报告行

String Matlab在单元格数组中查找字符串,报告行,string,matlab,indexing,find,cell,String,Matlab,Indexing,Find,Cell,我在排序单元格数组rawArrayData.textdata中查找包含字符串“chr1”的一系列行,以便我可以仅处理这些行中的数据(例如,仅处理给定染色体上的坐标,chr1): chromCols=find([rawArrayData.textdata{:,1}]==chr1'); 使用==时出错 矩阵尺寸必须一致。 我认为错误在于不正确使用find。有没有一种方法可以通过单元阵列实现这一点?或者,是否有方法将“chrX”的实例转换为X,将其转换为double并使用查找 如果有帮助的话,我用它作

我在排序单元格数组rawArrayData.textdata中查找包含字符串“chr1”的一系列行,以便我可以仅处理这些行中的数据(例如,仅处理给定染色体上的坐标,chr1):

chromCols=find([rawArrayData.textdata{:,1}]==chr1');
使用==时出错
矩阵尺寸必须一致。

我认为错误在于不正确使用
find
。有没有一种方法可以通过单元阵列实现这一点?或者,是否有方法将“chrX”的实例转换为X,将其转换为double并使用
查找

如果有帮助的话,我用它作为起点

我对这件事很陌生-如果有任何其他信息我可以提供,我会这样做


非常感谢。

如果您的
rawArrayData.textdata
如下所示,您可以这样做:

rawArrayData.textdata = {'chr4'; 'chr1'; 'chr2'; 'chr1' };

chromCols = find(cellfun(@(s) strcmp(s, 'chr1') == 1, ...
                    rawArrayData.textdata));

% chromCols = [2, 4]    

% get only chromCols rows
rawArrayData.textdata{chromCols, 1}

能否提供
rawArrayData.textdata
的示例内容?