Effacer les filtres
Effacer les filtres

How can I write multiple sets of data from MATLAB to one sheet in excel?

2 vues (au cours des 30 derniers jours)
Alexandra Brian
Alexandra Brian le 26 Oct 2016
Commenté : Chaya N le 28 Oct 2016
I'm running a linear regression test in MATLAB from data I have in excel.
A = xlsread('excel_report.xlsx', sheet, 'ColumnA:ColumnA');
B = xlsread('excel_report.xlsx', sheet, 'ColumnB:ColumnB');
After using the xlsread built-in function to download the data I ran a linear regression test using fitlm:
md2 = fitlm(A,B);
I then pulled data from the fitlm:
coeff2 = md2.Coefficients;
And added this to same excel workbook I originally pulled the data from:
writetable(coeff2, 'excel_report.xlsx', 'Sheet', 2);
My problem is I'd like to add more variables from fitlm to the excel_report.xlsx's corresponding sheet.
Specifically the Rsquared value and the number observations.

Réponse acceptée

Chaya N
Chaya N le 26 Oct 2016
Modifié(e) : Chaya N le 26 Oct 2016
You could simply call the same function a couple more times to write your required variables into the same sheet.
I would also suggest using the 'Range' option of the function to specify the cell(s) you would be writing your data into. Try
writetable(md2.Rsquared.Ordinary, 'excel_report.xlsx', 'Sheet', 2, 'Range', 'B2');
writetable(md2.Rsquared.Adjusted, 'excel_report.xlsx', 'Sheet', 2, 'Range', 'B4');
writetable(md2.NumObservations, 'excel_report.xlsx', 'Sheet', 2, 'Range', 'B6');
writetable(md2.Coefficients, 'excel_report.xlsx', 'Sheet', 2, 'Range', 'D2');
  2 commentaires
Alexandra Brian
Alexandra Brian le 27 Oct 2016
The following error occurred when I added the range:
Undefined function 'write' for input arguments of type 'double'.
Error in writetable (line 116)
write(a,filename,varargin{:})
Error in correlAnalysis (line 47)
writetable(md2.Rsquared.Ordinary, 'RB4Indicators_Report.xlsx', 'Sheet', 2, 'Range', 'B2');
Chaya N
Chaya N le 28 Oct 2016
Please use the xlswrite() command instead of writetable(). Note the change in the order of the input arguments between the two functions.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by