Search in array with sequence

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?

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 23 Nov 2013
Modificato: Azzi Abdelmalek il 23 Nov 2013
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 Commenti

Povilas
Povilas il 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'))))'

Accedi per commentare.

Più risposte (2)

Andrei Bobrov
Andrei Bobrov il 23 Nov 2013
Modificato: Andrei Bobrov il 23 Nov 2013
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 il 23 Nov 2013
Modificato: Povilas il 24 Nov 2013
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 Commenti

What is it Masyvas? Please small example for Masyvas.
Povilas
Povilas il 25 Nov 2013
Modificato: Povilas il 25 Nov 2013
masyvas
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 il 26 Nov 2013
add array file.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by