How to curve fit an equation with sigma function

Dear all,
I would like to get coefficient C0, C1....CN from the below equation,
function.JPG
I have enclosed herewith an excel having x and y co-ordinates.
Can anybody please let me know how to write this equation in 'custom equation' option in curve fitting tool or is there any other way to do it?

Answers (2)

Hi, where are the values of Z?

1 Comment

Hi Alex, I saw the details of the equation and according to that this equation is for 'rotationally symmetric polynomial'. As I am using it for 2D curve, in my case Z value will be 0

Sign in to comment.

C = polyfit( sqrt( x.^2+y.^2) , Z, N)

4 Comments

In polyfit syntax, N defines the order of polynomial which consequently will calculate those many coefficients. As far as I have seen polyfit can handleupto 9th order polynomial.
As per this equation i from 0 to N (number of x,y datapoints) will calculate coefficients C0 to CN and if you see the data it has got 81 datapoints giving 81 coefficients which looks impossible by polyfit? Please correct if my understanding is wrong.
It's not that polyfit is better or worse at fitting high order polynomials. It's just that high order polynomials are typically a bad thing to use as a model due to numerical instability.
For example the relationship between a polynomial's roots and its coefficients gets unstable at orders higher than about 20, as illustrated below. Notice the errors just in recovering the roots from the coefficients - I haven't even done any curve fitting yet.
>> p=poly(1:20); r=real(roots(p))
r =
19.9999
19.0013
17.9937
17.0185
15.9597
15.0593
13.9302
13.0627
11.9589
11.0225
9.9912
9.0027
7.9994
7.0001
6.0000
5.0000
4.0000
3.0000
2.0000
1.0000
ok thanks for the clarification Matt. As you mentioned as its a higher order polynomial I will not use polyfit due to higher perecentage error.
Can you please let me know the way to curve fit it as I am not getting how to use in curve fitting app custom function due to sigma?
Matt J
Matt J on 29 Jul 2019
Edited: Matt J on 29 Jul 2019
As you mentioned as its a higher order polynomial I will not use polyfit due to higher perecentage error.
No, that is not what I said. What I said was "It's not that polyfit is better or worse at fitting high order polynomials. It's just that high order polynomials are typically a bad thing...".
Stop using high order polynomials. Use splines instead.

Sign in to comment.

Asked:

on 25 Jul 2019

Edited:

on 29 Jul 2019

Community Treasure Hunt

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

Start Hunting!