Este artículo ha sido probado por nuestros especialistas para que tengas la garantía de la exactitud de nuestro tutorial.
Solución:
En caso de que no sepa el número exacto de columnas o filas, puede usar el índice mágico “final”, por ejemplo:
mymatrix(:,2:end) % all but first column
mymatrix(2:end,:) % all but first row
Esto también le permite dividir filas o columnas de una matriz sin tener que reasignarlas a una nueva variable.
GNU Octave elimina las columnas 2 y 4 de una matriz
mymatrix = eye(5);
mymatrix(:,[2,4]) = [];
disp(mymatrix)
Huellas dactilares:
1 0 0
0 0 0
0 1 0
0 0 0
0 0 1
GNU Octave elimina las filas 2 y 4 de una matriz:
mymatrix = eye(5);
mymatrix([2,4],:) = [];
disp(mymatrix)
Huellas dactilares:
1 0 0 0 0
0 0 1 0 0
0 0 0 0 1
Complejidad del tiempo
La complejidad de la CPU de GNU Octave para cortar y transmitir aquí es un tiempo lineal rápido O(n * c)
donde n es el número de filas y ca el número constante de filas que quedan. Es un solo núcleo de nivel C vectorizado pero no paralelo.
Complejidad de la memoria
La complejidad de la memoria de trabajo es lineal: O(n * 2)
C hace un clon de los dos objetos, itera sobre cada elemento y luego elimina el original.
La única velocidad de tiempo será un problema si sus matrices son demasiado anchas, altas o tienen una cantidad de dimensiones que explotan su memoria rápida, y la velocidad está limitada por la velocidad de transferencia entre el disco y la memoria.
El método inverso de hacer esto:
columns_you_want_to_keep = [1, 3, 5]
new_matrix = my_matrix(:,columns_you_want_to_keep)
Reseñas y puntuaciones del tutorial
Si entiendes que ha resultado provechoso nuestro artículo, agradeceríamos que lo compartas con más seniors de esta forma contrubuyes a difundir nuestro contenido.