|T O P I C R E V I E W
||Posted - 05/25/2012 : 02:56:57 AM
I have met some problem as I try to fit the following curve.
this curve actually is part of a circle.
so I use the advanced fiting tool to create a circle function like this,
y = b + sqrt(r^2-(x-a)^2)
where x is the independent var., y is the dependent var. a, b, and r are the fitting parameters. (and the initial value of parameter are set x=-1, y=-1, and r=1, separately.)
after set, I try to run the non-linear curve fitting by this function
but the fitting function doesn't work, the fitting parameter are unreasonable, there is even no fitting line on the result graph!
have anyone ever met the same problem before?
could you give some hint?
I'll very appreciate it.
|3 L A T E S T R E P L I E S (Newest First)
||Posted - 05/29/2012 : 4:02:11 PM
As I rescaled both X and Y of your graph to have the same scales (see Graph1 in the screenshot),
I noticed that your data points are on a almost vertical line - therefore the
radius may be huge. Maybe that's the reason why Origin's fitter had a hard time.
As an experimented, I rescaled X divided by 20, Y divided by 1000, and performed to
fit, and got a good result (of course, the curve is elliptic, not circular because of
the different rescaling factors).
Hope you can success by taking account with the above.
||Posted - 05/27/2012 : 02:56:17 AM
Thanks foy your reply, Hideo Fujii,
I follow your suggestion to change my initial parameter values and try to fit again.
at first run, the Origin tell me to fix the a = 0 and try again
I follow it,
but in the second run, the result seems doesn't like what I want,
I don't know what is the problem?
Do I just keep changing the initial values, keep try and error?
or something I can modify?
thanks to your kindness again.
||Posted - 05/25/2012 : 09:59:55 AM
> y = b + sqrt(r^2-(x-a)^2)
> a, b, and r are the fitting parameters.
> the initial value of parameter are set x=-1, y=-1, and r=1
So, you didn't give the initial parameter values for a and b?
If you didn't, you need them. (Seems your r's initial value is too small.
If I were, I would try r=400000, and a=0 , b=-400000 . )
Hope this helps.