random equation fitting to data set and finding constant parameters

3 views (last 30 days)
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.

Accepted Answer

Amit
Amit on 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 Comments
aditi
aditi on 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 on 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???

Sign in to comment.

More Answers (1)

Matt J
Matt J on 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 Comments
Sneha Roy
Sneha Roy on 21 Oct 2017
Edited: Sneha Roy on 21 Oct 2017
for some reason the variable par_fit is undefined error doesn't go away. How did you solve that error?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!