Matrix reduction

I have a very large set of data of over 1000 readings in [A]. I need to reduce the data to 101 readings evenly spaced over the original data set. Can anyone give me some help, or point me in the right direction? Any help would be much appreciated.

 Risposta accettata

Matt Fig
Matt Fig il 29 Mar 2011

2 voti

If DAT is your original data.
NewDAT = DAT(round(linspace(1,length(DAT),101)))

3 Commenti

Jason
Jason il 29 Mar 2011
The DAT is a (3529,2), when I do what you suggested it gives me a (101,1). My data is (T,R) matrix as in readings vs time. What I need is 101 samples of the data with the time and the value associated with the time. I am new to MatLab, only been working with it for a few months so I not know a lot of the functionality of it.
Matt Tearle
Matt Tearle il 29 Mar 2011
NewDAT = DAT(round(linspace(1,length(DAT),101)),:)
Indexing in MATLAB is A(row,column). Using : in place of column gives all columns (for the specified rows).
Jason
Jason il 29 Mar 2011
Thank you, that worked perfectly

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by