How to label columns in matrix?
19 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How can I give the columns contaning values for m, o, r ,t and Diff_irr a label?
ResultMtx = [];
for m=1:length(months) %loop 12 times for the 12 months
for o=1:length(orientation) %loop 2 times for south and east
for r = 1:length(row) %loop 3 times for the 3 rows
for t=1:length(tilt) %loop 10 times for the 10 tilting possibilities, this also represents the rows in the matric of irr
%_____________calculations here to find Diff_irr_____________
ResultMtx = [ResultMtx;
m o r t Diff_irr];
end
ResultMtx = [ResultMtx;
nan nan nan nan nan];
end
end
end
xlswrite(strcat(Result_File), ResultMtx);
I attempted to write:
ResultMtx = [ResultMtx;
['month%d, orientation%d, rows%d, tilt%d Irradiance%d,', m, o, r, t, Diff_irr]];
but that did't work obviously and I got the error:
"Dimensions of arrays being concatenated are not consistent."
3 commentaires
Simon Chan
le 18 Août 2021
Modifié(e) : Simon Chan
le 18 Août 2021
Use the following code after calculating the 'Diff_irr':
temp = [m o r t Diff_irr];
ResultMtx = [ResultMtx; temp];
Réponses (1)
Chunru
le 18 Août 2021
% After the loop, you obtain ResultMtx. Convert it into a table with
% column names. Then write the table
ResultMtx = array2table(ResultMtx, 'VariableNames', ["Month","orientation", "rows", "tilt", "Irradiance"]);
writetable(T, 'res.xlsx');
3 commentaires
Chunru
le 18 Août 2021
The following line should be outside of the loop:
ResultMtx = array2table(ResultMtx, 'VariableNames', ["Month","orientation", "rows", "tilt", "Irradiance"]);
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!