xlswrite multidimensional array in one sheet.

2 ビュー (過去 30 日間)
HN
HN 2020 年 6 月 5 日
回答済み: HN 2020 年 6 月 5 日
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

採用された回答

HN
HN 2020 年 6 月 5 日
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')

その他の回答 (1 件)

Ameer Hamza
Ameer Hamza 2020 年 6 月 5 日
編集済み: Ameer Hamza 2020 年 6 月 5 日
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 件のコメント
HN
HN 2020 年 6 月 5 日
編集済み: HN 2020 年 6 月 5 日
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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by