Decompose Data int a Matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mansour Aljohani
le 29 Juil 2015
Commenté : Star Strider
le 10 Août 2015
I got how to locate my data from the signal in the following link: http://www.mathworks.com/matlabcentral/answers/229678#answer_185935
but how to decompose my data int a matrix. I attached my row data.
2 commentaires
Réponse acceptée
Star Strider
le 30 Juil 2015
The data you want is when the ‘lowSignal’ vector is equal to 1. If each column in your matrix has one pulse from that record, the separation has already been done. By definition, each column is a pulse, so if your matrix is ‘M’ and it is of size (Nx8), where ‘N’ is the number of rows, to get the first and eighth pulses:
Pulse_1 = M(:,1);
Pulse_8 = M(:,8);
8 commentaires
Star Strider
le 9 Août 2015
I have no idea. My code worked with your data, or I’d not have posted it.
What was the error?
Plus de réponses (1)
Mansour Aljohani
le 9 Août 2015
2 commentaires
Star Strider
le 10 Août 2015
My pleasure.
That usually means the array sizes between the LHS and RHS of an assignment don’t match. My code assumes all the ‘epochs’ (as I called them) were of equal lengths, since they were the same in the file you provided.
Change the loop to:
for k1 = 1:length(epk_start)
sig_mtx{k1} = signal(epk_start(k1):epk_end(k1));
tim_mtx{k1} = time_vct(epk_start(k1):epk_end(k1));
end
This converts ‘sig_mtx’ and tim_mtx to cell arrays. That should at least solve the current problem. However you will have to program subsequent assignments involving them to accommodate the different lengths, and to change the cell arrays to double arrays in your code. See the documentation on Cell Arrays for details.
Voir également
Catégories
En savoir plus sur Pulsed Waveforms 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!