Plot a curve with its derivatives

14 views (last 30 days)
I have data with the following information and coordinates (not the actual numbers, just an example):
X Y dY/dX d2Y/dX2
4 0.3 5e-4 4.1e-5
5 0.4 1e-4 3e-4
In the example, there are only two points, but in the data, I have over 1000. I would like to plot the curve defined by the x and y-coordinates while maintaining the 1st and 2nd derivatives at each point. Is there a way to do this in matlab? I am not looking to use a linear fit curve. Each x-y value is given its own 1st and 2nd derivative.
  3 Comments
Alexandra McClernon Ownbey
Edited: Alexandra McClernon Ownbey on 4 Feb 2020
If I plot a curve in matlab (or any software) with x-y coordinates, it basically interpolates a line (via e.g. taylor series) between the points to make it continuous. So if I have 4 points that I plot, I get a curve; however, the slope (derivative) at those points are then defined by whatever interpolation or curve the software uses to connect the points. I would like to define what the slope is at each point.
These points are 2nd order accurate, I would like to maintain that accuracy. If I just input points to plot, I lose my accuracy.
I don't think I can create a function for the points - they are coordinates for a nozzle.
Alexandra McClernon Ownbey
The only thing I can think of is to use taylor series to add points just after and before the points i have to make sure the derivative is correct

Sign in to comment.

Answers (1)

J. Alex Lee
J. Alex Lee on 4 Feb 2020
As far as I know, matlab's plot function will draw a straight line (linear interpolation) between adjacent points.
For your case, at every point you have a fully specified parabola, so you can draw as refined a plot as you would like around each point.
You could try plotting the parabola around each point, say from mid-way between it and the previous, and mid-way between it and the next, and look at the result. I suspect you won't get a continuous curve though.
I think that at best you will be able to find x-positions between the specified points where the parabolas will meet, but they will not be ensured to have matched slopes (and definitely not 2nd derivatives).
  1 Comment
Alexandra McClernon Ownbey
I just ended up using taylor series to approximate coordinates above and below each given coordinate using a extremely small dx.

Sign in to comment.

Categories

Find more on Interpolation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!