random equation fitting to data set and finding constant parameters

2 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Amit
Amit am 22 Jan. 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 Kommentare
aditi
aditi am 23 Jan. 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 am 23 Jan. 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???

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt J
Matt J am 22 Jan. 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 Kommentare
Sneha Roy
Sneha Roy am 21 Okt. 2017
Bearbeitet: Sneha Roy am 21 Okt. 2017
for some reason the variable par_fit is undefined error doesn't go away. How did you solve that error?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by