error using squeeze function

6 vues (au cours des 30 derniers jours)
kash
kash le 15 Mar 2012
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 commentaires
Jan
Jan le 15 Mar 2012
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 le 15 Mar 2012
How exactly do you expect to represent a 3D matrix in 2D?

Connectez-vous pour commenter.

Réponses (2)

Jan
Jan le 15 Mar 2012
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 commentaires
Walter Roberson
Walter Roberson le 15 Mar 2012
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 le 18 Mar 2012
Thanks Walter. Now I get an idea what the semicolons should mean.

Connectez-vous pour commenter.


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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Performance and Memory dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by