Azzera filtri
Azzera filtri

random equation fitting to data set and finding constant parameters

3 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.

Community Treasure Hunt

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

Start Hunting!

Translated by