Matrix to string, filled with zeros
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a question about transforming a matrix. I have a matrix that looks something like this:
A = [9998; 9999; 0; 1; 2; ...... 9997; 9998; 9999; 0; 1; 2]
I want to turn this matrix into a string which contains always 4 elements:
B = ['9998'; '9999'; '0000'; '0001'; '0002'; ..... '9997'; '9998'; '9999'; '0000'; '0001'; '0002']
Then I also want to create a matrix (preferably without a loop) that adds 1 every time the number jumps down from 9999 to 0:
C = [0; 0; 1; 1; 1; 1; 1; 1; ..... 1; 1; 1; 2; 2; 2]
0 commentaires
Réponse acceptée
dpb
le 17 Mai 2021
>> string(num2str(A,'%04d')).'
ans =
1×11 string array
"9998" "9999" "0000" "0001" "0002" "9997" "9998" "9999" "0000" "0001" "0002"
>> cumsum([0 diff(A.')<0])
ans =
0 0 1 1 1 1 1 1 2 2 2
>>
1 commentaire
dpb
le 17 Mai 2021
compose was what was trying to remember was called but didn't at the time...I'd suggest a combination solution of Matt's in lieu of num2str
Voir également
Catégories
En savoir plus sur Operating on Diagonal Matrices 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!