fitlm works but polyfit does not work
10 views (last 30 days)
Show older comments
I run polyfit and fitlm for the same data. fitlm provides an output. But polyfit and corrcoef return NaN. How can it be?
1 Comment
Accepted Answer
Ameer Hamza
on 6 Dec 2020
Edited: Ameer Hamza
on 6 Dec 2020
There is probably NaN somewhere in your dataset. fitlm() ignores those data values. For example
x = linspace(0, 1, 10);
y = 2*x + 3 + rand(size(x));
y(3) = nan;
p = polyfit(x, y, 1)
c = corrcoef(y)
ft = fitlm(x, y)
Result
>> p
p =
NaN NaN
>> c
c =
NaN
>> ft
ft =
Linear regression model:
y ~ 1 + x1
Estimated Coefficients:
Estimate SE tStat pValue
________ _______ ______ __________
(Intercept) 3.1773 0.13254 23.973 5.5901e-08
x1 2.3847 0.21348 11.17 1.0268e-05
Number of observations: 9, Error degrees of freedom: 7
Root Mean Squared Error: 0.206
R-squared: 0.947, Adjusted R-Squared: 0.939
F-statistic vs. constant model: 125, p-value = 1.03e-05
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!