Error when fitting polyfit curve
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposta accettata
  dpb
      
      
 il 12 Dic 2020
        
      Modificato: dpb
      
      
 il 13 Dic 2020
  
      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 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Time Series in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

