xlswrite multidimensional array in one sheet.

2 vues (au cours des 30 derniers jours)
HN
HN le 5 Juin 2020
Réponse apportée : HN le 5 Juin 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

Réponse acceptée

HN
HN le 5 Juin 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')

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 5 Juin 2020
Modifié(e) : Ameer Hamza le 5 Juin 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 commentaire
HN
HN le 5 Juin 2020
Modifié(e) : HN le 5 Juin 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Cell Arrays 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!

Translated by