Segmentation of a signal

I have row vector of ECG signal have 1 x n order. I want to make 200 segments of that row vector and each segment should contain 300 samples.
For example: First sample should contain values of row vector from 1 to 300, second sample should contain values of row vector 301 to 300 and so on.
How should I start?

 Accepted Answer

Try this
signal200 = reshape(ecgSignal, [], 300);

4 Comments

Explorer
Explorer on 16 Mar 2016
Edited: Explorer on 16 Mar 2016
This is how I want to do it:
1st segment = [300 samples] % 1st sample to 300th sample
2nd segment = [300 samples] % 301 sample to 600th sample
3rd segment = [300 samples] % 601 sample to 900th sample
...
...
...
...
200th segment = [300 samples]
Yep, that's what I did. Each row is one of your "segments". I'm sure you didn't want 200 different, independent variables each with a different name - that would be really dumb.
how can i do signal segmentation by time,for example each segment contain 500 s.
You'd need a cell array because each segment might not have the same number of samples. You can use etime() to find out elapsed times.

Sign in to comment.

More Answers (1)

Ashish Sheikh
Ashish Sheikh on 15 Mar 2016

0 votes

Is n a factor of 200 ?

1 Comment

The exact order of row vector is 1*537600

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!