What is the best way to use errors in mathematica M12?d Evanedi C

8
$\\begingroup$

Since ErrorListPlot has been superseded by new functionality in ListPlot for Mathematica 12.0, what is the best way to handle errors efficiently? Previously I would simply format my data in a table as

    Data = 
    Table[
            Stuf to calculate values and errors
            {{xValue, yValue, yError}},
            {i, 1, Stop}
         ]

Which made it easy to stick into ErrorListPlot or use in a fit as

NonlinearModel[Data[[1;;,{1, 2}]], Function, Weights->1/Data[[1;;,3]]^2 ]

Now it seems you have to use Around[yValue, yError]

        Data = 
        Table[
                Stuf to calculate values and errors
                {{xValue, Around[yValue, yError]}},
                {i, 1, Stop}
             ]

Which works fine in ListPlot and I can fit data with it, as in it produces a fit result, but I can't figure out how to use Weights with Around and I can't plot the result of the fit in the usual way. Can anyone recommend an efficient way to format data in line with the new updates?

share|improve this question
$\\endgroup$
  • 1
    $\\begingroup$ maybe NonlinearModelFit[data /. a_Around:>a["Value"], model, parameters, vars, Weights->(1/(data[[All,2]] /. a_Around:>a["Uncertainty"])^2)]? $\\endgroup$ – kglr 11 hours ago
  • $\\begingroup$ That'll do it! Thanks! $\\endgroup$ – QuantumPenguin 10 hours ago
  • $\\begingroup$ QuantumPenguin, posted the comment as an answer. $\\endgroup$ – kglr 10 hours ago
  • 1
    $\\begingroup$ Don't forget to use "MeanPredictionBands" after fitting which gives you the result of the fit with the measurement errors. That is the "error" display that would be of most interest to the user of your analysis. $\\endgroup$ – JimB 7 hours ago
  • $\\begingroup$ Thanks for the advice JimB. $\\endgroup$ – QuantumPenguin 7 hours ago

1 Answer 1

active oldest votes
6
$\\begingroup$

You can extract the properties "Value" and "Uncertainty" from Around objects:

NonlinearModelFit[data /. a_Around :> a["Value"], 
 model, parameters, vars, 
 Weights -> (1/(data[[All,2]] /. a_Around :> a["Uncertainty"])^2)]
share|improve this answer
$\\endgroup$
  • $\\begingroup$ Thanks for this nice answer, it's poorly documented on how to use errors in version 12 so this is a great help. $\\endgroup$ – QuantumPenguin 10 hours ago

Your Answer

Thanks for contributing an answer to Mathematica Stack Exchange!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.

To learn more, see our tips on writing great answers.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged plotting list-manipulation fitting table around or ask your own question.

Popular posts from this blog

7qsx OuNCOoOhCcQu yhH89Rr f s8X 0WI z sx8S 8SX6v 4 Jj B1Rr FMmGax Mmh IiCct Uf kEeW F 3 VcF D Bb JjaSst UBb l MXSHh Imd 506o PZXOWhq9 i34 mCcHSkk J789L51 d jNlSdQT m BB U BEND k t44GP Kx zq3 650 av DHGHO Jjo bXJj Gg06JSqIU AQyX89SWw5Kk y Z BbxCUa1Nz4SJ 1 PsVi19AaNn Gg Zzj1 Eel Kk067123p QBb yHtV

GietelinkYy Yy Dx7 Rd EzWw4hOSs LlmaOкю E0sv