fitlm works but polyfit does not work

5 views (last 30 days)
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
Catalytic
Catalytic on 6 Dec 2020
Who knows? You've provided no means for us to reproduce what you see.

Sign in to comment.

Accepted Answer

Ameer Hamza
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

More Answers (0)

Categories

Find more on Polynomials in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!