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 Kommentar

Fadi Lama
Fadi Lama am 5 Dez. 2020
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)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Rik
Rik am 5 Dez. 2020

0 Stimmen

Index your variable:
point(1:5)

5 Kommentare

Fadi Lama
Fadi Lama am 5 Dez. 2020
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)
Fadi Lama
Fadi Lama am 5 Dez. 2020
pks(1:5) will give me values for other peaks
Rik
Rik am 5 Dez. 2020
Doesn't the peaks function also return the indices?
Fadi Lama
Fadi Lama am 5 Dez. 2020
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
Rik
Rik am 5 Dez. 2020
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.

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 5 Dez. 2020

Kommentiert:

Rik
am 5 Dez. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by