Generating a function using an array
17 views (last 30 days)
Show older comments
If I have an array of data. Is there a way to generate a function from the data contained in the array? That if I evaluated the function, it would generate the data equivelent to the array. The generated function will be used to find the local min and max (critical points) of the function.
0 Comments
Answers (2)
esat gulhan
on 26 Aug 2020
maybe like this. if you send data it can be easier to choose the way of function. I used sin data and choose pchip.
x=[ 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416 3.4558 3.7699 4.0841]
y=[ 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 -0.3090 -0.5878 -0.8090]
t=pchip(x,y) %Piecewise Cubic Hermite Interpolating Polynomial function of x y
ppval(t,2) %the value of function at 2
ppval(t,0) %the value of function at 0
plot(x,ppval(t,x))
findpeaks(ppval(t,x)) %local maksimum points
esat gulhan
on 26 Aug 2020
Edited: esat gulhan
on 26 Aug 2020
Hi
can you try this
clear all;clc;
x=[ 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.141 3.4558 3.76 4.08]
y=[ 0 0.3090 0.5878 0.8090 0.9511 1 0.9511 0.809 0.5878 0.3090 0.0 -0.309 -0.58 -0.8]
t=pchip(x,y) %Piecewise Cubic Hermite Interpolating Polynomial function of x y
ppval(t,2) %the value of function at 2
ppval(t,0) %the value of function at 0
plot(x,ppval(t,x))
findpeaks(ppval(t,x)) %local maksimum points
0 Comments
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!