Info

此问题已关闭。 请重新打开它进行编辑或回答。

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

1 次查看(过去 30 天)
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

回答(1 个)

Wayne King
Wayne King 2012-4-26
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.

此问题已关闭。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by