xlabel name legends font change achsenbeschriftung matlab matrix

matlab - name - Crea una matriz 3D



title image matlab (3)

¿Cómo puedo definir una matriz 3D en MATLAB?

Por ejemplo, una matriz de tamaño (8 x 4 x 20) o agregar una tercera dimensión a una matriz 2D existente?


Crea una matriz 3D

A = zeros(20, 10, 3); %# Creates a 20x10x3 matrix

Agregue una tercera dimensión a una matriz

B = zeros(4,4); C = zeros(size(B,1), size(B,2), 4); %# New matrix with B''s size, and 3rd dimension of size 4 C(:,:,1) = B; %# Copy the content of B into C''s first set of values

ceros es solo una forma de hacer una nueva matriz. Otro podría ser A(1:20,1:10,1:3) = 0 para una matriz 3D. Para confirmar el tamaño de sus matrices puede ejecutar: size(A) que da 20 10 3 .

No existe un límite explícito en el número de dimensiones que puede tener una matriz.


Si quieres definir una matriz 3D que contenga todos los ceros, escribes

A = zeros(8,4,20);

Todos usan ones , todos los NaN usan NaN , todos los usos false lugar de zeros .

Si tiene una matriz 2D existente, puede asignar un elemento en la "3ª dimensión" y la matriz se aumenta para contener el nuevo elemento. Todos los demás elementos de matriz nuevos que se deben agregar para hacer eso se establecen en cero.

Por ejemplo

B = magic(3); %# creates a 3x3 magic square B(2,1,2) = 1; %# and you have a 3x3x2 array


Uso Octave, pero Matlab tiene la misma sintaxis.

Crear matriz 3D:

octave:3> m = ones(2,3,2) m = ans(:,:,1) = 1 1 1 1 1 1 ans(:,:,2) = 1 1 1 1 1 1

Ahora, digamos que tengo una matriz 2D que quiero expandir en una nueva dimensión:

octave:4> Two_D = ones(2,3) Two_D = 1 1 1 1 1 1

Puedo expandirlo creando una matriz 3D, estableciendo el primer 2D en el anterior (aquí tengo el tamaño dos de la tercera dimensión):

octave:11> Three_D = zeros(2,3,2) Three_D = ans(:,:,1) = 0 0 0 0 0 0 ans(:,:,2) = 0 0 0 0 0 0 octave:12> Three_D(:,:,1) = Two_D Three_D = ans(:,:,1) = 1 1 1 1 1 1 ans(:,:,2) = 0 0 0 0 0 0