How to decompose 3d array to 3 matrices

2 views (last 30 days)
RADWAN A F ZEYADI
RADWAN A F ZEYADI on 25 Oct 2021
Edited: James Tursa on 25 Oct 2021
Hi every one
i have a 3d array with dimension 51*71*3 and i want to obtain column vector 153*1
d=(51*71*3)
n=d(:,:,1) so now 51*71
r=d(:,:,2) becomes 51*71
c=data(:,3) becomes51*71
so now b=[n;r;c] 153*71
but i need153*1 instead
how can i obtain this vector
thanks in advance

Answers (1)

Jan
Jan on 25 Oct 2021
x = rand(51, 71, 3);
v = reshape(x(:, 27, :), [], 1);
size(v)
ans = 1×2
153 1
  2 Comments
RADWAN A F ZEYADI
RADWAN A F ZEYADI on 25 Oct 2021
thanks but i mean 153 *1 of original d (153*71) i dont need to generate random vector
James Tursa
James Tursa on 25 Oct 2021
Edited: James Tursa on 25 Oct 2021
@RADWAN A F ZEYADI The random vector was just to generate sample data of the same size as your problem. Jan is not suggesting that you need to use rand( ) in your code. E.g., using your d variable:
v = reshape(d(:, 27, :), [], 1);

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!