xlabel font ejemplo change matlab matrix vector reshape

matlab - font - Remodelar el vector de columna



plot matlab (2)

Matlab almacena los valores de matriz en formato de columna principal (esto es importante durante la remodelación). Como quieres fila principal, debes hacer

z = reshape(z, [220 44]).'';

es decir, transponer después.

Hola, estoy trabajando con MATLAB y tengo un vector de columna "z" que tiene una dimensión de (9680 x 1). Quiero remodelarlo para tener una matriz "z" de dimensión (44 x 220). Estoy haciendo lo siguiente:

z=reshape(z,44,220);

También probé:

z=reshape(z,[44,220]);

Pero el resultado no es correcto (al menos en la primera fila). Puedo verlo comparando la matriz de salida con el vector inicial.

Solo necesito que las 220 primeras posiciones del vector de columna sean la longitud de la primera fila de la matriz, luego las siguientes 220 posiciones del vector sean la segunda fila de la matriz y así sucesivamente hasta obtener 44 filas.

¿Qué estoy haciendo mal? Gracias por tu ayuda.


Usaría el enfoque de Andreas H.

Como alternativa, hay una función vec2mat en la Caja de herramientas de comunicaciones que hace precisamente eso, e incluso llena los valores que faltan si es necesario:

>> x = 11:18; >> vec2mat(x,4) %// no padding needed ans = 11 12 13 14 15 16 17 18 >> vec2mat(x,5) %// padding needed; with 0 by default ans = 11 12 13 14 15 16 17 18 0 0 >> vec2mat(x,5,-1) %// padding needed; with specified value ans = 11 12 13 14 15 16 17 18 -1 -1