error message using polyfit (nonlinear regression)
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi,
I get the following error meesage:
Warning: Polynomial is not unique; degree >= number of data points.
> In polyfit at 71
In deltaAdjustment at 27
In run at 74
The code I am using is the following:
for putCall =1:2
dataPutCall = data16(data16(:,3)==putCall,:);
dates=unique(dataPutCall(:,6));
for i=1:length(dates)
date=dates(i);
dataDate = dataPutCall(dataPutCall(:,6) == date,:);
Ts = unique(dataDate(:,5));
for indexT = 1:length(Ts)
T = Ts(indexT);
dataT = dataDate(dataDate(:,5) == T,:);
number=dataT(:,13);
x= dataT(:,2);
y=dataT(:,10);
p = polyfit(x,y,2);
f = polyval(p,x);
a=p(3);
b=p(2);
c=p(1);
SlopeSkew(number)=b+2*c.*x;
Slope=SlopeSkew';
end
end
end
I have used this code for a smaller matrix and there is was worked perfectly but not it seems as something is not working correctly and I am unsure what excatly it is
0 commentaires
Réponse acceptée
bym
le 20 Avr 2013
I think it is obvious from the message; you don't have a enough data points to fit the polynomial uniquely. Like fitting a line through just one point, there are many solutions
x=[1,2];
y = [2,8];
polyfit(x,y,2)
Warning: Polynomial is not unique; degree >= number of data points.
> In polyfit at 72
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!