8
$\begingroup$

I have a list of coordinates that make a near-parabolic graph, which I managed to fit and calculate the curvature. However, the curvature only outputs a equation. Is there any way to calculate the radius of the curvature so it gives a numeric value? Any help is appreciated.

My code is as follows:

list = {{54.5, 120.5}, {65.25, 143.15}, {65.61, 143.02}, {76.18, 
    157.28}, {89.89, 176.76}, {98.08, 184.87}, {98.33, 
    184.44}, {118.5, 197.5}, {140.77, 205.74}, {150.96, 
    207.06}, {163.11, 206.07}, {169.09, 204.77}, {177.07, 
    202.8}, {181.14, 201.13}, {182.41, 200.47}, {194.65, 
    192.49}, {201.47, 188.95}, {209.02, 182.56}, {209.21, 
    182.86}, {222.11, 172.77}, {230.93, 161.53}, {230.96, 
    161.51}, {245.51, 141.75}, {257.03, 124.18}, {257.23, 
    124.53}, {261.71, 114.96}, {261.72, 114.91}, {267.16, 
    104.41}, {267.29, 104.07}, {280.45, 72.62}, {280.63, 
    72.34}, {283.35, 63.57}, {286.5, 48.5}};

fit = NonlinearModelFit[list, a*(x + c)^2 + b, {a, b, c}, x];
curvature = Simplify[ArcCurvature[{t, fit[t]}, t]]

The fitted equation along with the list of coordinates graphed out:

Output

$\endgroup$

1 Answer 1

11
$\begingroup$

Curvature of a parabola depends on the position. To find curvature at the maximum point do

ArcCurvature[{t,fit[t]},t]/.Maximize[fit[t],t][[2]]
(*0.0170112*)
$\endgroup$
3
  • $\begingroup$ Also find max curvature with Maximize[curvature, t] giving {0.00193965, {t -> 48.421}} and min curvature on the range xmin, xmax with {xmin, xmax} = MinMax[list[[All, 1]]]; Minimize[{curvature, xmin <= t <= xmax}, t] giving {0.00114411, {t -> 286.5}} $\endgroup$
    – flinty
    Jun 19, 2020 at 14:03
  • $\begingroup$ @flinty Thank you, I also notice your answer on a related post. $\endgroup$
    – yarchik
    Jun 19, 2020 at 14:17
  • $\begingroup$ Yes it's very similar. I forgot to constrain the Maximize too, it should be Maximize[{curvature, xmin <= t <= xmax}, t] giving {0.0170112, {t -> 154.442}} which is the same as your value. $\endgroup$
    – flinty
    Jun 19, 2020 at 14:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.