Info

This question is closed. Reopen it to edit or answer.

Need help with a For loop or any loop with some sort for my code

1 view (last 30 days)
I have written a code to calculate an area under a graph( WAV file). But say if the the plot includes 60000 samples I need to calculate the area for every 5000 samples. Currently If "y1" is my data I have a set of data as below:
y = y1(1:5000);
%y = y1(5001:10000);
%y = y1(10001:15000);
%y = y1(15001:20000);
The data from "y" is used to calculate the power spectrum etc. At the moment I have to find "y" manually by Commenting and uncommenting for each line of data, so I was wondering whether anyone could help me out with this situation.
Thanks

Answers (1)

Wayne King
Wayne King on 26 Apr 2012
If you have the Signal Processing Toolbox, you can use buffer:
y = randn(5e4,1);
y1 = buffer(y,5e3);
Then take your data as the columns of the matrix.
Otherwise, use reshape()
y1 = reshape(y,5e3,10);
I think buffer() might be better, because that handles the case where your data length is not divisible by 5000.

This question is closed.

Tags

Community Treasure Hunt

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

Start Hunting!