how generating evenly spaced vectors with overlap?

Hi all,
I need to generate evenly spaced vectors with overlap. How can I do it? Here an example:
Input: [0 5 10 15 20];
Output: [0 5, 4 10,9,15,20];
I know they are not even, but also like that is fine.
Thanks cheers

3 Comments

Can you provide an example? What do you mean "with overlap"? How about something like this:
x = 1:1:10
or
x = linspace(1,10,10);
I don't understand the rule for going from input to output.
Also, numeric matrices in MATLAB cannot be "uneven". Do you want to put a placeholder of "NaN" (not-a-number), or use some other class of variable, such as a cell array?
By istance I want to create 4 slices of a 20 seconds long time history with an overlap of 0%. So I do:
SeparationPoints=linspace(0,20,5);
and I get: [0 5 10 15 20] and my signal slices are: [0 5; 5 10;10 15;15 20];
with a 5% overlap, that it will be: 20*5/100=1 so my signal slices will be something like [0 5; 4 10 ;9 15; 14 20]; The 5% of overlapping is the difference between the end of the slice and the beginning of the following one.
Is it clearer now?

Sign in to comment.

 Accepted Answer

Starting with the linspace above that people suggested you can get the over lap you by doing this:
input = [0 5 10 15 20];
overlap = 5; % percent
overlap = input(end)*(overlap/100);
output = [input(1:end-1)'-overlap input(2:end)']
output(output<0) = 0;
disp(output)

More Answers (0)

Categories

Products

Tags

Asked:

on 26 Jun 2014

Commented:

on 27 Jun 2014

Community Treasure Hunt

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

Start Hunting!