random equation fitting to data set and finding constant parameters

2 vues (au cours des 30 derniers jours)
aditi
aditi le 22 Jan 2014
Commenté : Walter Roberson le 21 Oct 2017
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.

Réponse acceptée

Amit
Amit le 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 commentaires
aditi
aditi le 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 le 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???

Connectez-vous pour commenter.

Plus de réponses (1)

Matt J
Matt J le 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 commentaires
Sneha Roy
Sneha Roy le 21 Oct 2017
Modifié(e) : Sneha Roy le 21 Oct 2017
for some reason the variable par_fit is undefined error doesn't go away. How did you solve that error?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by