Error when fitting polyfit curve
조회 수: 6 (최근 30일)
이전 댓글 표시
Trying to plot a polynomial curve onto my time series but keeps coming up with 'Inputs must be floats, namely single or double'
This is the code I've got:
% plot time series
X = Months;
X = categorical({'March','April','May','June','July','August','November'});
M = reordercats(X,{'March','April','May','June','July','August','November'});
Y = AverageDO;
plot(M,Y,'*');
p = polyfit(M,Y,1);
The excel sheet attached is the timeseries data.
댓글 수: 0
채택된 답변
dpb
2020년 12월 12일
편집: dpb
2020년 12월 13일
Error is exactly what it says--you wrote:
X = categorical({'March','April','May','June','July','August','November'});
M = reordercats(X,{'March','April','May','June','July','August','November'});
so M is a categorical variable which polyfit is not equipped to handle.
Use
>> M=month(datetime(string(X),'inputformat','MMM'))
M =
3 4 5 6 7 8 11
>>
or some other way to generate the months as numeric.
I THINK some of the Statistics and/or Curve Fitting toolbox routines may know how to handle categorical variables but I don't recall for absolute sure otomh.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Time Series에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!