As I can solve the following problem binary

3 Ansichten (letzte 30 Tage)
FRANCISCO
FRANCISCO am 24 Okt. 2013
Beantwortet: Andrei Bobrov am 31 Okt. 2013
Yo tengo la siguiente secuencia binaria:
s=[1(1) 1(2) 1(3) 0(4) 1(5) 0(6) 0(7) 0(8) 0(9) 1(10) 1(11) 4(12)];
y quiero que me realice calcule las substrings de longitud n=4 de la siguiente manera:
1(9) 1(10) 1(11) 4(12)
0(6) 0(8) 1(10) 4(12)
1(3) 0(6) 1(9) 4(12)
He de decir que la longitud de las substrings deben poder modificarse, al igual que la longitud de la secuencia.
Muchas gracias
  2 Kommentare
sixwwwwww
sixwwwwww am 24 Okt. 2013
Can you please translate your question in english?
FRANCISCO
FRANCISCO am 24 Okt. 2013
sorry,
I have the following binary sequence:
s = [1 (1) 1 (2) 1 (3) 0 (4) 1 (5) 0 (6) 0 (7) 0 (8) 0 (9) 1 (10) 1 (11) 4 (12 )];
and do I want to calculate the substrings of length n = 4 in the following way:
1 (9) 1 (10) 1 (11) 4 (12)
0 (6) 0 (8) 1 (10) 4 (12)
1 (3) 0 (6) 1 (9) 4 (12)
I must say that the length of the substrings must be changeable, like the length of the sequence.
thank you very much

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

sixwwwwww
sixwwwwww am 24 Okt. 2013
Dear FRANCISCO, here is the code which performs the desired function:
s = 1:100; % Your array
n = 11; % Length of sub-arrays
a = fliplr(s);
combinations = floor(length(s) / n);
b = zeros(combinations, n);
for k = 1:combinations
b(k, 1) = a(1);
l = 1;
for j = 1:n - 1
l = l + k;
b(k, j+1) = a(l);
end
end
Matrix_combinations = fliplr(b);
disp(Matrix_combinations) % Final matrix of sub-arrays
I hope it helps. Good luck!

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 31 Okt. 2013
n = 4;
idxend = 12;
idx = idxend + bsxfun(@times,1-n:0,(1:n-1)');

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by