How to select data points for interpolation

I am trying to interpolate between two points on my sinosoidal shaped graph. How do I select a desired range of points on that graph to interpolate from? I've tried using 'point(1): point(1)+5' but this is taking 5 numbers greater than point(1) and increasing by 1. ex: if the value of my point is 100.5 I get [100.5,101.5,102.5,103.5,104.5,105.5]. Instead I want to get the 5 data points which procede point(1).

1 Commento

I don't know how to explain but point(1) is basically a peak so pks(1). I want to include the 5 proceding points which are basically magnitudes on the y-axis. (not related to the pks but just next to them)

Accedi per commentare.

Risposte (1)

Index your variable:
point(1:5)

5 Commenti

I don't know how to explain but point(1) is basically a peak so pks(1). I want to include the 5 proceding points which are basically magnitudes on the y-axis. (not related to the pks but just next to them)
pks(1:5) will give me values for other peaks
Doesn't the peaks function also return the indices?
I used the findpeaks function to find the 5 peaks of my graph. In my workspace pks is saved as a 5x1 matrix showing the 5 (y-axis) peaks
The findpeaks function has a second output. Did you read the documentation? That second output is what you need to use.
Try it. If you don't manage to find a solution, please post the code you used so I can edit that instead of writing it from scratch.

Accedi per commentare.

Richiesto:

il 5 Dic 2020

Commentato:

Rik
il 5 Dic 2020

Community Treasure Hunt

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

Start Hunting!

Translated by