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.

 Akzeptierte Antwort

Matt Fig
Matt Fig am 29 Mär. 2011

2 Stimmen

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

3 Kommentare

Jason
Jason am 29 Mär. 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 am 29 Mär. 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 am 29 Mär. 2011
Thank you, that worked perfectly

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 29 Mär. 2011

Community Treasure Hunt

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

Start Hunting!

Translated by