找到单元阵列的索引
7视图(30天)
显示旧的评论
你好所有的,假设我有第六单元阵列x1包含抽象的文章,所以每一行的单元格包含800个字符。如果我找到的位置str = " b e h i n d '从这个单元阵列,只有b将生成,那么我的代码是错误的。细胞在附件或myabs.mat数组数据
负载(“myabs.mat”);
mydata = X;
(行、列)= (mydata)大小;
距离= 0(行、列);
str =“后面使用覆盖”;
j = 1;
为n = 1:行
gec = char (mydata {n});
% j = 1:长度(str)
为m = 1:800
而j <长度(str)
% j = 1:长度(str)
如果(通用电气(m) = = str (j))
indexx (j) = m;
距离(n, m) = indexx (j);
结束
打破;
j = + 1;
结束
结束
结束
接受的答案
Stephen23
2015年4月11日
编辑:Stephen23
2015年4月11日
可能有更简单的方法来实现这一任务,但这似乎工作:
str =“后面”;
负载myabs
为m = 1:元素个数(X)
Y = bsxfun (@eq, X {m} (:), str);
为n = 2:尺寸(Y, 2)
(:,n) = Y (:, n) & cumsum (Y (:, n - 1)) > 0;
结束
Z =找到(任何(diff([假(大小(str)); cumsum (Y) > 0], 1), 2))
结束
当它打印运行这个命令窗口:
Z =
135年
149年
235年
236年
239年
266年
Z =
72年
73年
127年
136年
160年
174年
Z =
163年
170年
172年
173年
177年
221年
Z =
40
53
65年
66年
76年
112年
Z =
216年
217年
267年
279年
295年
319年
Z =
170年
175年
178年
196年
197年
234年