Writing 3D array to excel sheet
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Zee
am 3 Jun. 2022
Bearbeitet: Dhanush Yeddula
am 7 Jun. 2022
Hello,
I would like to write Matlab output having dimension 2040x5x174 to an excel sheet. xlswrite function is restricted for 2D array as I get following error: 'Dimension of input array cannot be higher than two.'
Is there any other function that I can use or any other way to write this. Thanks.
1 Kommentar
Walter Roberson
am 3 Jun. 2022
Either reshape() or write the slices to separate sheets. Excel has no support for 3d arrays.
Akzeptierte Antwort
Dhanush Yeddula
am 7 Jun. 2022
Bearbeitet: Dhanush Yeddula
am 7 Jun. 2022
The function “xlswrite” can handle only 2D data. In order to write your 3D data you can either reshape the data into a large 2D array, or you can run a loop to save each sheet of your data to a sheet of the excel file. The conversion from 3D to 2D can be done in a couple of ways. The following examples demonstrate these techniques:
%% Example 1
a = rand(3,3,3)
for i = 1:3
% use a for loop to remove 1 dimension and write into different worksheets
b = (squeeze(a(i,:,:)))'
xlswrite('exanple1.xls', b, ['Sheet', num2str(i)])
end
%% Example 2
a = rand(3,3,3)
% use reshape to remove 1 dimension
b = reshape(a,3,9)
xlswrite('example2.xls', b)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!