Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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
Matlab 搜索向量和返回索引的单元格数组_Matlab_Search_Vector_Cell Array - Fatal编程技术网

Matlab 搜索向量和返回索引的单元格数组

Matlab 搜索向量和返回索引的单元格数组,matlab,search,vector,cell-array,Matlab,Search,Vector,Cell Array,我有一个3000x1的单元格不同长度的向量数组,正在寻找一种方法来搜索所有向量,并返回该数字第一次和最后一次出现的单元格索引 因此,我的数据如下所示: [1] [1 2] [1 2] [3] [6 7 8 9] etc 当我搜索数字1时,我希望我的结果如下所示: ans = 1 3 所有的索引(例如,1的[1 2 3])也会起作用,尽管上面的方法会更好。到目前为止,我无法解决这两个问题 我试过了 cellfun(@(x) x==1, positions, 'UniformOutput',

我有一个3000x1的
单元格
不同长度的向量数组,正在寻找一种方法来搜索所有向量,并返回该数字第一次和最后一次出现的
单元格
索引

因此,我的数据如下所示:

[1]
[1 2]
[1 2]
[3]
[6 7 8 9]
etc
当我搜索数字1时,我希望我的结果如下所示:

ans = 1   3
所有的索引(例如,1的
[1 2 3]
)也会起作用,尽管上面的方法会更好。到目前为止,我无法解决这两个问题

我试过了

cellfun(@(x) x==1, positions, 'UniformOutput', 0)
这将返回一个逻辑数组,有效地将我放回第1方。我尝试过使用
find(cellfun…
,但是对于类型为“cell”的输入参数,这会产生错误
未定义的函数“find”。我能找到的大部分帮助是在单元格数组中搜索字符串。我需要将所有向量转换为字符串才能工作吗

C = {[1]
[1 2]
[1 2]
[3]
[6 7 8 9]}; %// example data

N = 1; %// sought number

ind = cellfun(@(v) any(v==N), C); %// gives 1 for cells which contain N
first = find(ind,1);
last = find(ind,1,'last');
result = [ first last ];