How to do this below?

2 vues (au cours des 30 derniers jours)
Mibang
Mibang le 6 Fév 2024
Commenté : Voss le 6 Fév 2024
Suppose you have a binary sequence:
a = [0 0 1 1 1 0 0 1 1 1 1 0 0 0];
And, how can you abtain a sequence b from a?
b = [0 0 3 0 0 0 0 4 0 0 0 0 0 0];
That is, place the sum of the consequtive ones at the first location of the consecutive ones.
And, make zeros for all the other locations of ones.
Thank you,

Réponse acceptée

Voss
Voss le 6 Fév 2024
One way:
a = [0 0 1 1 1 0 0 1 1 1 1 0 0 0]
a = 1x14
0 0 1 1 1 0 0 1 1 1 1 0 0 0
b = zeros(1,numel(a));
s_idx = strfind([0 a],[0 1]);
e_idx = strfind([a 0],[1 0]);
b(s_idx) = e_idx-s_idx+1;
b
b = 1x14
0 0 3 0 0 0 0 4 0 0 0 0 0 0
  2 commentaires
Mibang
Mibang le 6 Fév 2024
Genius! thanks.
Voss
Voss le 6 Fév 2024
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by