{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Matriz Transposta\n", "#### A transposta de uma matriz MA é uma matriz que possui os mesmos elementos de MA, mas postos em posições diferentes. Pode-se obter transportando ordenadamente os elementos das linhas de MA para as colunas de MA transposta." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Desse modo, tendo uma matriz $MA = (ma_{ij})_{m_{x}n}$ a transposta de MA é $MA^{t} = (ma^{'}_{ji})_{n_{x}m}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$MA = \\begin{bmatrix}\n", " a_{1,1} & a_{1,2} & ... & a_{1,n} \\\\\n", " a_{2,1} & a_{2,2} & ... & a_{2,n} \\\\\n", " : & : & : & : \\\\\n", " a_{m,1} & a_{m,2} & ... & a_{m,n} \\\\\n", " \\end{bmatrix}\n", "MA^{t} = \\begin{bmatrix}\n", " a_{1,1} & a_{2,1} & : & a_{m,1} \\\\\n", " a_{1,2} & a_{2,2} & : & a_{m,2} \\\\\n", " ... & ... & : & ... \\\\\n", " a_{1,n} & a_{2,n} & : & a_{m,n} \\\\\n", " \\end{bmatrix}$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np # importando a biblioteca numpy padrão do Python" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# criando a função de matriz transposta\n", "def transposta():\n", " \n", " # recebe a quantidade de linhas da matriz\n", " linha = int(input(\"Informe quantas linhas tem sua matriz: \")) \n", " # recebe a quantidade de colunas da matriz\n", " coluna = int(input(\"Informe quantas colunas tem sua matriz: \")) \n", " \n", " # comandos de ir para a próxima linha\n", " print(\"\\n\") \n", " \n", " # iniciando uma matriz de números reais com linhas e colunas definidas\n", " A = np.empty([linha,coluna], dtype = float)\n", "\n", " # estrutura for aninhada que recebe os elementos da matriz\n", " for i in range(0, linha):\n", " for j in range(0, coluna):\n", " A[i][j] = float(input(\"Insira o elemento [{}][{}] da matriz: \".format(i + 1,j + 1)))\n", "\n", " #imprime na tela a matriz original\n", " print(\"\\n\\nA matriz digitada é:\\n\\n{}\\n\\n\".format(A))\n", "\n", " # definindo a matriz transposta com uma função do numpy\n", " A_T = np.transpose(A) \n", "\n", " # imprime na tela a matriz transposta\n", " print(\"A matriz transposta é:\\n\\n{}\\n\\n\". format(A_T))\n", "\n", " # definindo a matriz transposta da matriz A_T, voltando a ser a matriz A\n", " A = np.transpose(A_T)\n", "\n", " # imprime na tela a matriz tranposta da mesma já transposta, ou seja, retornará a matriz original\n", " print(\"A matriz transposta da transpostada é:\\n\\n{}\".format(A))\n", " \n", " # função não retorna nenhum valor\n", " return None" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ "Informe quantas linhas tem sua matriz: 2\n", "Informe quantas colunas tem sua matriz: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira o elemento [1][1] da matriz: 1\n", "Insira o elemento [1][2] da matriz: 2\n", "Insira o elemento [1][3] da matriz: 3\n", "Insira o elemento [2][1] da matriz: 4\n", "Insira o elemento [2][2] da matriz: 5\n", "Insira o elemento [2][3] da matriz: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz digitada é:\n", "\n", "[[1. 2. 3.]\n", " [4. 5. 6.]]\n", "\n", "\n", "A matriz transposta é:\n", "\n", "[[1. 4.]\n", " [2. 5.]\n", " [3. 6.]]\n", "\n", "\n", "A matriz transposta da transpostada é:\n", "\n", "[[1. 2. 3.]\n", " [4. 5. 6.]]\n" ] } ], "source": [ "# imprimindo a função criada\n", "transposta()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Alguma Dúvida? Entre em Contato Comigo:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [Me envie um e-mail](mailto:alysson.barbosa@ee.ufcg.edu.br);" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }