# Finding Minimum of a list after interpolation

I have a set of lists called Er[l], where l is from 1 to 13. I want to find the minimum point in the plot in these lists after interpolation by spline method. I need the values and the points on the plot.

    Er[1]={{6., -0.052309}, {5.9, -0.0585607}, {5.8, -0.0655975}, {5.7, \
-0.0734887}, {5.6, -0.0822908}, {5.5, -0.0920279}, {5.4, -0.102672}, \
{5.3, -0.114093}, {5.2, -0.126007}, {5.1, -0.137885}, {5., \
-0.148821}, {4.9, -0.157357}, {4.8, -0.161233}, {4.7, -0.157053}, \
{4.6, -0.139813}, {4.5, -0.102251}, {4.4, -0.0339586}, {4.3,
0.0798611}, {4.2, 0.260101}, {4.1, 0.536103}, {4., 0.948895}, {3.9,
1.55563}, {3.8, 2.43571}, {3.7, 3.69923}, {3.6, 5.49906}, {3.5,
8.04835}, {3.4, 11.6474}, {3.3, 16.7263}, {3.2, 23.9162}, {3.1,
34.1743}, {3., 49.0186}, {2.9, 70.9924}, {2.8, 104.639}, {2.7,
158.686}}


this was an example of data inside the lists Er[radius,energy]

   ListLinePlot[{Er[1], Er[2], Er[3], Er[4], Er[5], Er[6], Er[7], Er[8],
Er[9], Er[10], Er[11], Er[12], Er[13]},
PlotStyle -> {Black, Red, Blue, Green, Pink, Yellow, Brown, Orange,
Magenta, Gray, Cyan, Purple, Darker[Blue]},
PlotRange -> {{3, 6}, prange},
AxesLabel -> {"r (Å)", "E (kcal/mol)"}, InterpolationOrder -> 3,
Method -> "Spline"];


Thanks in advance

-
Take a look at Interpolation ... Minimize ... NMinimize ... FindMinimum – Dr. belisarius Dec 2 '13 at 19:30

## 1 Answer

For each list, you can use Minimize in conjunction with an InterpolatingFunction. I make the assumption that the minimum must occur in the same interval that the data is specified.

func[1] = Interpolation[Er[1], Method -> "Spline"]

min = Minimize[{func[1][x], func[1][[1, 1, 1]] <= x <= func[1][[1, 1, 2]]},x]


{-0.161251, {x -> 4.79331}}

To display on a plot:

ListLinePlot[Er[1],
Epilog -> {Red, PointSize[0.02], Point[{x /. min[[2]], min[[1]]}]},
PlotRange -> All]


For the other 12 lists, you can wrap this in a Table function to feed in the other lists, and create those plots.

-