How to decompose 3d array to 3 matrices

5 次查看(过去 30 天)
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

回答(1 个)

Jan
Jan 2021-10-25
x = rand(51, 71, 3);
v = reshape(x(:, 27, :), [], 1);
size(v)
ans = 1×2
153 1
  2 个评论
RADWAN A F ZEYADI
RADWAN A F ZEYADI 2021-10-25
thanks but i mean 153 *1 of original d (153*71) i dont need to generate random vector
James Tursa
James Tursa 2021-10-25
编辑:James Tursa 2021-10-25
@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);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by