HOWTO · MATLAB
Transposición en MATLAB
Uno puede tomar la transposición de un array usando la función transpose() y ctranspose() en MATLAB.
En esta página
En MATLAB, usa transpose(A) o A.' para intercambiar filas y columnas sin modificar los valores complejos. Usa ctranspose(A) o A' para intercambiar filas y columnas y conjugar los valores complejos. En matrices con valores reales, ambas operaciones producen el mismo resultado; si los valores son complejos, elige la operación adecuada para el cálculo que necesitas.
Calcular la transpuesta de una matriz con la función transpose() de MATLAB
La función transpose() devuelve un vector o una matriz con las filas y columnas intercambiadas. Un vector fila se convierte en un vector columna, y una matriz de m filas y n columnas pasa a tener n filas y m columnas. La función no conjuga las entradas complejas. El operador .' realiza la misma transposición ordinaria, por lo que ambas formas son útiles al escribir código de MATLAB.
Este ejemplo de MATLAB, compatible con Octave, usa una matriz real y muestra el resultado con disp. Se ejecuta correctamente e imprime la matriz con las filas y columnas intercambiadas.
A = [1 2 3; 4 5 6];
T = transpose(A);
disp(T)
1 4
2 5
3 6
La primera fila de A se convierte en la primera columna de T, y la segunda fila, en su segunda columna. Para realizar una transposición ordinaria con el operador, escribe T = A.';. El punto antes del apóstrofo es importante: indica que se debe transponer sin conjugar las entradas complejas. Esta forma y transpose(A) son equivalentes para la operación mostrada. Consulta la documentación de MATLAB sobre transpose para obtener detalles sobre la función.
Calcular la transpuesta conjugada compleja de una matriz con la función ctranspose() de MATLAB
La función ctranspose() intercambia las filas y columnas y calcula el conjugado complejo de cada entrada. En un número complejo, la conjugación cambia el signo de su parte imaginaria: por ejemplo, 1 + 2i se convierte en 1 - 2i. El operador de apóstrofo de MATLAB, A', realiza esta transposición conjugada compleja. Para datos complejos, el resultado difiere del de la transposición ordinaria; si la entrada puede ser compleja, elige deliberadamente el operador o la función que corresponda.
Este ejemplo independiente de MATLAB, compatible con Octave, muestra la operación aplicada a un vector fila complejo. Se ejecuta correctamente y muestra los valores conjugados en una columna.
A = [1+2i 2+3i];
T = ctranspose(A);
disp(T)
1 - 2i
2 - 3i
El resultado es un vector columna con las entradas 1 - 2i y 2 - 3i: la fila se convierte en columna y cambia el signo de cada componente imaginaria. Puedes escribir la misma operación como T = A';. Para un vector o una matriz con valores reales, la conjugación no modifica ninguna entrada, así que ctranspose(A) y transpose(A) devuelven valores iguales. Con datos complejos, por lo general difieren: usa transpose() o .' cuando solo quieras intercambiar filas y columnas, y ctranspose() o ' cuando también necesites conjugar los valores. Consulta la documentación de MATLAB sobre ctranspose para obtener más información.