Polynomial surface fitting failed
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to use the polynomial fitting function to fit my surface X=[30 60 60 60 90] Y=[280 260 280 300 280] Z=[0.0060 0.0053 0.00438 0.0042 0.0034]
I am choosing degree of x to be 1, and degree of y to be 2, Matlab keeps telling me equation is badly conditioned. Remove repeated data points or trying center and scaling. It still gave me the same results when I checked the box of "center and scale".
I have several sets of other data similar to this by the fitting is working. I don't know what should I do now with this set of data.
Thanks!
Antworten (1)
John D'Errico
am 26 Feb. 2014
You have 5 (count them, FIVE) data points. At least they are reasonably well scattered.
You are trying to estimate a model with how many terms? WHAT IS YOUR MODEL?
sf = fit([X',Y'],Z','poly12')
Warning: Equation is badly conditioned. Remove repeated data points or try centering and scaling.
> In Warning>Warning.throw at 30
In fit>iLinearFit at 690
In fit>iFit at 396
In fit at 108
Linear model Poly12:
sf(x,y) = p00 + p10*x + p01*y + p11*x*y + p02*y^2
Coefficients:
p00 = 1.507e+14
p10 = -2.512e+12
p01 = -5.384e+11
p11 = 8.973e+09
p02 = -4.48e-05
Your data simply does not justify fitting that model. At best, you have 5 coefficients and 5 data points. The fit would be exact if your data were more conducive to fitting that model, but the data is not sufficient to estimate ALL 5 coefficients uniquely.
Get better data. Or use a simpler model.
(While you COULD use gridfit, as Star Strider suggested) it depends on your goals here. Do you need a model, or do you just want a surface plot?
0 Kommentare
Siehe auch
Kategorien
Mehr zu Polynomials finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!