error using squeeze function

6 次查看(过去 30 天)
kash
kash 2012-3-15
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 个评论
Jan
Jan 2012-3-15
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.
Daniel Shub
Daniel Shub 2012-3-15
How exactly do you expect to represent a 3D matrix in 2D?

请先登录,再进行评论。

回答(2 个)

Jan
Jan 2012-3-15
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 个评论
Walter Roberson
Walter Roberson 2012-3-15
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 .
Jan
Jan 2012-3-18
Thanks Walter. Now I get an idea what the semicolons should mean.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2012-3-15
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 个评论
kash
kash 2012-3-17
So walter how to process it ,please help
Walter Roberson
Walter Roberson 2012-3-17
It'd probably take a permute() and reshape() and possibly a transpose after.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Performance and Memory 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by