I have array like this: y=[00110011100001110011] I need search in array, and if it is sequence [..11..] then i get 5, if it sequence [..111...] then I should get 6. In the answer I should got sequence something like this:[..5665556...] So maybe know how do that?

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 23 Nov 2013
Modifié(e) : Azzi Abdelmalek le 23 Nov 2013

0 votes

y='00110011100001110011'
ii={'' '5' '6'}
out=char(ii(cellfun(@numel,regexp(y,'1+','match'))))'
%or
y='00110011100001110011';
a=[0 y-'0' 0];
ii5=strfind(a,[0,1,1,0]);
ii6=strfind(a,[0,1,1,1,0]);
v(ii6)=6;
v(ii5)=5;
v(~v)=[];

2 commentaires

Povilas
Povilas le 23 Nov 2013
Thanks for answer. It works, but if I have that array [00110011100001111111] And I need that result be 5, if it is in interval from 11 to 1111?
y='00110011100001111111001111101111'
n=7; % maximal number of consecutive 1
ii=repmat({'6'},1,n+1)
ii(2:4)={'5'}
out=char(ii(cellfun(@numel,regexp(y,'1+','match'))))'

Connectez-vous pour commenter.

Plus de réponses (2)

Andrei Bobrov
Andrei Bobrov le 23 Nov 2013
Modifié(e) : Andrei Bobrov le 23 Nov 2013

0 votes

out = sprintf('%d',strfind([y '0'],'10')-strfind(['0' y],'01')+4)
ADD
out = sprintf('%d',(strfind([y '0'],'10')-strfind(['0' y],'01')>3) + 5)
Povilas
Povilas le 23 Nov 2013
Modifié(e) : Povilas le 24 Nov 2013

0 votes

but where y='00110011100001111111001111101111' it is not in '' but in [array2] and cant read from that array
Now my code is:
x = [Masyvas];
x >= 0.14
y1=double(ans)
z=y1'
y=num2str(z)
%y=u(find(~isspace(u)))
r = y(y ~= ' ') %delete space
n=18; % maximal number of consecutive 1
ii=repmat({'6'},1,n+1);
ii(8:13)={'5'};
out=char(ii(cellfun(@numel,regexp(r,'1+','match'))))
And get error:
??? Index exceeds matrix dimensions.
Error in ==> Untitled at 27
out=char(ii(cellfun(@numel,regexp(r,'1+','match'))))

4 commentaires

Andrei Bobrov
Andrei Bobrov le 25 Nov 2013
What is it Masyvas? Please small example for Masyvas.
Povilas
Povilas le 25 Nov 2013
Modifié(e) : Povilas le 25 Nov 2013
masyvas
Image Analyst
Image Analyst le 25 Nov 2013
Do you expect him to type that in? Unlikely. Please make it easy for him to help you by attaching the csv or workbook file.
Povilas
Povilas le 26 Nov 2013
add array file.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by