Problem passing function to lsqnonlin with costant parameters

3 Ansichten (letzte 30 Tage)
Hello, i have this function to pass to lsqnonlin :
[val,Jac] = myfunction(x,par1,par2,par3)
my function computes already the Jacobian that im planning to pass to slqnonlin and is essential.
x is the optimization variable and par1,par2... are constant parameters required to evaluate the function and are computed separately.
The problem then is how i declare x as the only optimization variable?
I can't use function handle otherwise i would lose my multi ouput;
I can't declare par1,par2,... as globals cause myfunction has parallelization in it;
I could pass the code to evaluate pars into myfunction but it would add not necessary heavy computation into each iteration of lsqnonlin which i'd like to avoid;
Any other ideas? Thank you

Akzeptierte Antwort

Matt J
Matt J am 15 Jan. 2019
Bearbeitet: Matt J am 15 Jan. 2019
par1=______;
par2=______;
par3=______;
lsqnonlin(@(x) myfunction(x,par1,par2,par3), __________);
  6 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by