random equation fitting to data set and finding constant parameters

조회 수: 2 (최근 30일)
aditi
aditi 2014년 1월 22일
댓글: Walter Roberson 2017년 10월 21일
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.

채택된 답변

Amit
Amit 2014년 1월 22일
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
aditi
aditi 2014년 1월 23일
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 2014년 1월 23일
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???

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Matt J
Matt J 2014년 1월 22일
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
Sneha Roy
Sneha Roy 2017년 10월 21일
편집: Sneha Roy 2017년 10월 21일
for some reason the variable par_fit is undefined error doesn't go away. How did you solve that error?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by