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.

 채택된 답변

Matt Fig
Matt Fig 2011년 3월 29일

2 개 추천

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

댓글 수: 3

Jason
Jason 2011년 3월 29일
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 2011년 3월 29일
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 2011년 3월 29일
Thank you, that worked perfectly

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

질문:

2011년 3월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by