error using squeeze function

i have values as
A(:,:,1)=
1 3 4
.2 .3 .9
;
;
;
A(:,:,56)=
10 13 9
1 2 20
i need to display as
A=
1 3 4
.2 .3 .9
;
;
10 13 9
1 2 20
i tried squeeze,but did not get exact answer,please help

2 个评论

Does "did not get the exact answer" means, that the answer is :_completely_ wrong - or only _partially_ wrong?!
I do not understand the notation with the semicolons. Please post what you try and how you insert the semicolons into the output.
How exactly do you expect to represent a 3D matrix in 2D?

请先登录,再进行评论。

回答(2 个)

Perhaps:
reshape(permute(A, [3,1,2]), 4, 3)
?
[EDITED] No, the above is not correct. Better:
reshape(permute(A, [1,3,2]), [], 3)

2 个评论

I think your reshape is wrong there. The original matrix size goes to at least 56 in the third dimension, so you are not going to fit the matrix in to a 4 x 3 .
Thanks Walter. Now I get an idea what the semicolons should mean.

请先登录,再进行评论。

Walter Roberson
Walter Roberson 2012-3-15

0 个投票

squeeze() is only for eliminating singular dimensions, such as for transforming a 17 x 1 x 43 array in to a 17 x 43 array.
You do not have any singular dimensions, so squeeze() is not going to help you.

2 个评论

So walter how to process it ,please help
It'd probably take a permute() and reshape() and possibly a transpose after.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Performance and Memory 的更多信息

标签

提问:

2012-3-15

Community Treasure Hunt

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

Start Hunting!

Translated by