Using the following data, which I have used before in other posts (the y-axis is heat flow (mW) and x-axis is Temperature in °C (not time)):
Import["https://pastebin.com/raw/SMKZUtbQ", "Package"]
which plotted using ListLinePlot[data, PlotRange -> {{50, 100}, {-0.1, 1}}] gives:
Question: How can I find the value (x and y coordinate) of the inflection(s) point to the left of each peak as shown in the figure (done with power point)?.
For this I have been using the code provided by MarcoB here: Find onset and peak temperatures
and additionally using the following approach:
start = 55;
end = 95;
region = Select[data, start <= #[[1]] <= end &];
fint = Interpolation[region];
which after using something like: infp = {x, fint[x]} /. FindRoot[fint''[x] == 0, {x, 59.4, 61}] finds the value {60.2085, 0.766843} which may be a possible inflection point for the first peak (left side) but it does not find all the inflection points of that peak. So, I am looking for a way to find the inflection(s) point(s) and a way to evaluate if they are indeed inflection(s) point(s).
Here's the point and the plot together using:
Show[Plot[fint[x], {x, start + 0.1, end - 0.1},
PlotRange -> {{start, end}, {-0.5, 2.5}}, PlotStyle -> {Blue},
AspectRatio -> aspect, Frame -> True, FrameStyle -> 14,
Axes -> False, GridLines -> Automatic,
GridLinesStyle -> Lighter[Gray, .8],
FrameTicks -> {Automatic, Automatic},
LabelStyle -> {Black, Bold, 10}],
ListPlot[{infp}, PlotStyle -> Red]]
I appreciate your input
EDIT:
When I use infp = {x, fint[x]} /.FindRoot[fint''[x] == 0, {x, 59.8,61}] I find the following values {59.8211, 0.589037} which I check if this is a inflection point using (a very bad code):
belowinfp = fint''[infp[[1]] - 0.001]
aboveinfp = fint''[infp[[1]] + 0.001]
so that if belowinfp and aboveinfp have different signs, then I conclude that it is indeed an inflection point (in this case it is). If I used for instances infp = {x, fint[x]} /.FindRoot[fint''[x] == 0, {x, 59.4,61}] I find the values {60.2085, 0.766843} which using the same test I conclude that this is also an inflection point.
So, I guess the problem reduces to doing this automatically so that it will give me all the values of the inflections points using this test or any other.






FindRooton my machine, so now there's a better chance that someone can answer (without redoing previous work.) +1 – C. E. Jun 19 '20 at 01:10