how to perform this matrix manupulation..?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
harshal j
il 10 Apr 2016
Commentato: harshal j
il 10 Apr 2016
hi, I have a row matrix eg [30,0,0,0,0,10,0,0,0,0,30,30,30,0,0,0,0,0,10....] I have to consider first element i.e 30 (and label it by 'a') then I have to discard the elements between 30 and 10. then I have to consider first 10 (and label it by 'b'),again I want to discard the elements between the 10 and last 30 ( also want to discard the first two elements whose value is 30 and consider the last 30(and label it by 'c') ) I want to repeat the same steps for the entire row matrix whose size is 1x2000. I don't know how to do this. Please help me to write this matrix logic. Thanks in advance
0 Commenti
Risposta accettata
Azzi Abdelmalek
il 10 Apr 2016
Modificato: Azzi Abdelmalek
il 10 Apr 2016
Do not label them with different variables, just store them in a cell array
5 Commenti
Azzi Abdelmalek
il 10 Apr 2016
v=[30,0,0,0,0,10,0,0,0,0,30,30,30,0,0,0,0,0,10];
w=v~=0;
ii=strfind([0 w],[0 1]);
out=arrayfun(@(x) v(x),ii,'un',0);
celldisp(out)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!