Create a new array everytime with the change of sign in an array
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sri Vishnu Katreddi
le 29 Avr 2022
Modifié(e) : Matt J
le 29 Avr 2022
I have an array A = [0 1 2 3 2 1 0 -1 -2 -2 -1 0 1 1.6 1.8 2 1 0 .... ], Now I want to create a new array everytime the sign changes in the array, it should look like
B = [0 1 2 3 2 1 0]
C = [-1 -2 -2 -1]
D = [0 1 1.6 1.8 2 1 0]
.
.
.
2 commentaires
Walter Roberson
le 29 Avr 2022
Why should it look like that? sign(0) is not the same as sign(1) . Why are you including 0 in the run of positives? Why does the 0 not get included with the run of negatives?
Réponse acceptée
Matt J
le 29 Avr 2022
Modifié(e) : Matt J
le 29 Avr 2022
Download these files,
and then do like in the following:
A = [0 1 2 3 2 1 0 -1 -2 -2 -1 0 1 1.6 1.8 2 1 0];
G=groupConsec(A>=0);
output=groupFcn(@(x) {x}, A ,G); %return the groups as cell array elements,
%not separate variables
>> output{:}
ans =
0 1 2 3 2 1 0
ans =
-1 -2 -2 -1
ans =
0 1.0000 1.6000 1.8000 2.0000 1.0000 0
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Startup and Shutdown dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!