HOWTO · MATLAB
Transposição em MATLAB
Pode-se pegar a transposição de um array usando as funções transpose() e ctranspose() em MATLAB.
Nesta página
No MATLAB, use transpose(A) ou A.' para trocar as linhas pelas colunas sem alterar os valores complexos. Use ctranspose(A) ou A' para trocar linhas e colunas e calcular o conjugado dos valores complexos. Para matrizes com valores reais, as duas operações produzem o mesmo resultado; para valores complexos, escolha a operação adequada ao cálculo desejado.
Calcular a transposta de uma matriz usando a função transpose() no MATLAB
A função transpose() retorna um vetor ou uma matriz com linhas e colunas trocadas. Um vetor linha se torna um vetor coluna, e uma matriz com m linhas e n colunas passa a ter n linhas e m colunas. A função não calcula o conjugado dos elementos complexos. O operador .' realiza a mesma transposição simples; portanto, ambas as formas são úteis ao escrever código MATLAB.
Este exemplo de MATLAB, compatível com Octave, usa uma matriz real e exibe o resultado com disp. A execução é bem-sucedida e mostra a matriz com as linhas e colunas trocadas.
A = [1 2 3; 4 5 6];
T = transpose(A);
disp(T)
1 4
2 5
3 6
A primeira linha de A se torna a primeira coluna de T, e a segunda linha se torna a segunda coluna. Para fazer uma transposição simples com o operador, escreva T = A.';. O ponto antes do apóstrofo é importante: ele seleciona uma transposição que não calcula o conjugado dos elementos complexos. Essa forma e transpose(A) são equivalentes para a operação mostrada. Consulte a documentação MATLAB de transpose para obter detalhes sobre a função.
Calcular a transposta conjugada complexa de uma matriz usando a função ctranspose() no MATLAB
A função ctranspose() troca linhas e colunas e calcula o conjugado complexo de cada elemento. Em um número complexo, a conjugação inverte o sinal da parte imaginária: por exemplo, 1 + 2i se torna 1 - 2i. O operador de apóstrofo do MATLAB, A', realiza essa transposição conjugada complexa. Para dados complexos, o resultado difere da transposição simples; por isso, escolha a função ou o operador conscientemente quando a entrada puder conter valores complexos.
Este outro exemplo de MATLAB, compatível com Octave, demonstra a operação em um vetor linha complexo. A execução é bem-sucedida e exibe os valores conjugados em uma coluna.
A = [1+2i 2+3i];
T = ctranspose(A);
disp(T)
1 - 2i
2 - 3i
O resultado é um vetor coluna com os elementos 1 - 2i e 2 - 3i: a linha se torna uma coluna e o sinal de cada componente imaginária é invertido. Você também pode escrever a mesma operação como T = A';. Para um vetor ou uma matriz com valores reais, a conjugação não altera nenhum elemento; assim, ctranspose(A) e transpose(A) retornam valores iguais. Para dados complexos, em geral, os resultados são diferentes: use transpose() ou .' quando quiser apenas trocar linhas e colunas, e ctranspose() ou ' quando também quiser calcular o conjugado. Consulte a documentação MATLAB de ctranspose para mais detalhes.