random equation fitting to data set and finding constant parameters

2 visualizzazioni (ultimi 30 giorni)
I have x and y coordinates and I want to fit an equation:
y=a*exp(x^b - 2^b)
to the data set and thus finding parameters a and b. Please help me through it.

Risposta accettata

Amit
Amit il 22 Gen 2014
First make a function that you'll use to fit like this:
function val = myfunc(par_fit,x,y)
% par_fit = [a b]
val = norm(y - par_fit(1)*exp(x.^2-2^par_fit(2)));
Now, find the parameters like:
my_par = fminsearch(@(par_fit) myfunc(par_fit,x,y),rand(1,2));
  35 Commenti
aditi
aditi il 23 Gen 2014
okay...i will follow previous instructions carefully...maybe i have done something wrong...
and a big thanks to u amit...u were of great help :) will contact u if m stuck again somewher else thanks
aditi
aditi il 23 Gen 2014
one more thing...what i found after googling is that in such cases u have to give a specific range for 1 of the parameter... so any idea about that..??
like in above equation if i deliberately want that the b value should lie betweem 0.2 and 2 and then find a and b...how can i do that???

Accedi per commentare.

Più risposte (1)

Matt J
Matt J il 22 Gen 2014
You might also try FMINSPLEAS. It can take advantage of the fact that y has a linear dependence on one of the parameters 'a'.
  8 Commenti
Sneha Roy
Sneha Roy il 21 Ott 2017
Modificato: Sneha Roy il 21 Ott 2017
for some reason the variable par_fit is undefined error doesn't go away. How did you solve that error?

Accedi per commentare.

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by