Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Optimizing parameters without specifying them (Mathematica)

  1. Sep 17, 2010 #1
    I use NMinimize to optimize a likelihood function. The number of parameters included depends on the dimensions of a vector I pass. I would like to have Mathematica check the dimensions of the vector, declare the correct number of parameters for me, and then solve for them.

    Right now, I have to hard code my notebook for each different size of vector I hand it. Is there anyway to have Mathematica either use anonymous variables, or declare parameter1, parameter2... parameterN variables for me, automatically, and use them?

    Thanks
     
  2. jcsd
  3. Sep 23, 2010 #2
    myNMinimize[f_,n_]:=NMinimize[f,Table[ToExpression["parameter"<>ToString],{i,1,n}]]

    Then
    myNMinimize[(parameter1-3)^2+2(parameter2+1)^4+parameter3^2,3]
    returns
    {parameter1->3., parameter2->-1., parameter3-> 0.}
     
    Last edited: Sep 23, 2010
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook