Fitting data with custom function defined with recursion loop

3 views (last 30 days)
I am trying to fit data with a function of this form: the function is defined on strictly positive values. In 0, the function is equal to 1-(the sum of the values it takes for x from 1 to 10)
for example, I tried with the function:
if x>0
elseif x<0
for i=2:10
And used data defined so that I knew what a and c parameters to expect. The curve fitting tool replys to me that "Function value and YDATA sizes are not egal"
When I suppress the loop for x=0 that uses the function Function2 inside it's own expression, the curve fitting tool works (the function is then just a piecewise function), but then it gives a fitting curve that does not correspond at all to the piecewise function I expect.
How can I fit this function?
Thanks in advance
Walter Roberson
Walter Roberson on 15 May 2015
As a debugging step, inside the function please display
size(x), size(a), size(c)

Sign in to comment.

Answers (1)

Titus Edelhofer
Titus Edelhofer on 15 May 2015
Hi Bill,
I guess Curve Fitting tool will call your function with x being a vector and not a scalar. In this case your function will not work, since it's written for scalar x only. If length(x)>1 you should loop over the vector x.

Community Treasure Hunt

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

Start Hunting!