me gusta woutld para dividir una matriz en trozos iguales como este:array dividido en pedazos en MATLAB
a=[1 2 3 4 5 6 7 8 9 10]
n = 2;
b = split(a, n);
b =
1 2 3 4 5
6 7 8 9 10
Qué función puede hacer esto?
me gusta woutld para dividir una matriz en trozos iguales como este:array dividido en pedazos en MATLAB
a=[1 2 3 4 5 6 7 8 9 10]
n = 2;
b = split(a, n);
b =
1 2 3 4 5
6 7 8 9 10
Qué función puede hacer esto?
Prueba esto:
a = [1 2 3 4 5 6]
reshape (a, 2, 3)
Si a
puede ser dividido por n
en realidad se puede dar sólo un argumento para formar de nuevo.
para formar de nuevo a 2 filas:
b = reshape(a,2,[])
para formar de nuevo a 2 columnas:
b = reshape(a,[],2)
Nota que reforman obras de columnas, que se llena la primera columna en primer lugar, a continuación, segundo, y así sucesivamente . Para obtener el resultado deseado, debe cambiar la forma en 2 columnas y luego transponer el resultado.
b = reshape(a,[],2)'
Se puede colocar un cheque antes de remodelar:
assert(mod(numel(a),n)==0,'a does not divide to n')
¿Hay alguna función para unir las matrices nuevamente después de la remodelación? – Jerky
¿De qué matrices estás hablando? Claro, puede volver a formarse en el vector original: 'a2 = remodelar (b ', 1, []);' – yuk
¿Es posible hacer una remodelación donde 'a/n ~ = int' y luego volver a llenar el final con ceros o NaN? – josh
Muchas gracias. – Elijah
Esto realmente no da la salida que se pide en la pregunta. Tiene que ser 'remodelar (a, 3,2) ''. – yuk
@Ze Ji ¿Hay alguna función para unir las matrices nuevamente después de la remodelación? – Jerky