# How to fit data to a function then have Mathematica mark the inflection points?

• Mathematica

## Main Question or Discussion Point

Here's my data:

Code:
data = {{0.0, 2.91}, {0.25, 2.96}, {0.4, 3.08}, {0.7, 3.18}, {1.0,
3.25}, {1.2, 3.31}, {1.4, 3.37}, {1.6, 3.45}, {1.8, 3.49}, {2.0,
3.54}, {2.5, 3.65}, {3.0, 3.74}, {3.5, 3.81}, {4.0, 3.88}, {4.5,
3.94}, {5.0, 4.0}, {5.5, 4.04}, {6.0, 4.09}, {7.0, 4.19}, {8.0,
4.27}, {9.0, 4.35}, {10.0, 4.42}, {11.0, 4.50}, {12.0,
4.57}, {13.0, 4.64}, {14.0, 4.71}, {15.0, 4.79}, {16.0,
4.86}, {17.0, 4.94}, {18.0, 5.02}, {19.0, 5.12}, {20.0,
5.22}, {21.0, 5.34}, {22.0, 5.49}, {22.5, 5.56}, {23.0,
5.68}, {23.5, 5.80}, {24.0, 5.99}, {24.2, 6.09}, {24.4,
6.21}, {24.6, 6.38}, {24.8, 6.58}, {24.9, 6.79}, {25.0,
7.15}, {25.1, 8.83}, {25.2, 10.01}, {25.3, 10.23}, {25.4,
10.51}, {25.5, 10.68}, {25.6, 10.81}, {25.7, 10.89}, {25.8,
10.96}, {26.0, 11.08}, {26.2, 11.18}, {26.4, 11.25}, {26.6,
11.31}, {26.8, 11.37}, {27.0, 11.41}, {27.5, 11.52}, {28.0,
11.59}, {29.0, 11.71}, {30.0, 11.80}, {31.0, 11.87}, {32.0,
11.93}, {33.0, 11.97}, {34.0, 12.02}};
And here's my graph:

Code:
ListPlot[data, AxesOrigin -> {0, 0}, PlotRange -> {0, 12.5},
PlotStyle -> Directive[Red],
GridLines -> {Range[0, 34, .5], Range[0, 13, .25]},
GridLinesStyle -> Directive[Thin, Dotted], Joined -> True,
Ticks -> {Range[0, 34, 2], Range[0, 13.0, 1]},
InterpolationOrder -> 5, Mesh -> Full,
MeshStyle -> Directive[PointSize[Medium], Red],
Epilog -> {Directive[Dashed, Blue],
Line[{{12.0, 0}, {12.0, 4.57}, {0, 4.57}}],
Line[{{25.1, 0}, {25.1, 8.83}, {0, 8.83}}]}]
My inflection points are estimations, but I would like Mathematica to find them for me. How is this done?

Last edited: