xlswrite multidimensional array in one sheet.

2 views (last 30 days)
HN
HN on 5 Jun 2020
Answered: HN on 5 Jun 2020
I tried to export 6 x 6 x 1000 matrix from matlab to exel. However, the xlswrite overwrite it.
I used the following loop to resolve the issue
for j=1: length(Matrix,3)
xlswrite('xlsName.xls',Matrix(:.:,j),j)
end
But, it print the new data to the new sheet and it is not what I wanted.
Any help is appreciated!.
Thanks

Accepted Answer

HN
HN on 5 Jun 2020
This works, in any case if someone need it
T=matrix ;
for j=1:length(matrix)
T(8*(j-1)+[1,dim(matrix)],:)=matrix(:,:,j)
end
xlswrite('filename',T,'sheetname','B2')

More Answers (1)

Ameer Hamza
Ameer Hamza on 5 Jun 2020
Edited: Ameer Hamza on 5 Jun 2020
First convert the data to a 2D matrix
M = rand(6, 6, 100);
M_new = reshape(permute(M, [2 1 3]), 6, []).';
and then you can use xlswrite().
writematrix() can also handle multidimensional arrays.
  1 Comment
HN
HN on 5 Jun 2020
Edited: HN on 5 Jun 2020
Thank you Hamza. But this is still not printing each matrix in the same page. What I wanted to see was all results in one page.
Thank you

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!