{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Operações Matriciais\n", "#### Vamos ver como matrizes podem ser combinadas através das operações aritméticas de adição, subtração e multiplicação." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Soma" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\begin{bmatrix}\n", " a_{11} & a_{12} & ... & a_{1n} \\\\\n", " a_{21} & a_{22} & ... & a_{2n} \\\\\n", " : & : & ... & : \\\\\n", " a_{m1} & a_{m2} & ... & a_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n} + \n", " \\begin{bmatrix}\n", " b_{11} & b_{12} & ... & b_{1n} \\\\\n", " b_{21} & b_{22} & ... & b_{2n} \\\\\n", " : & : & ... & : \\\\\n", " b_{m1} & b_{m2} & ... & b_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n} = \n", " \\begin{bmatrix}\n", " a_{11} + b_{11} & a_{12} + b_{12} & ... & a_{1n} + b_{1n} \\\\\n", " a_{21} + b_{21} & a_{22} + b_{22} & ... & a_{2n} + b_{2n} \\\\\n", " : & : & ... & : \\\\\n", " a_{m1} + b_{m1} & a_{m2} + b_{m2} & ... & a_{mn} + b_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Subtração" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\begin{bmatrix}\n", " a_{11} & a_{12} & ... & a_{1n} \\\\\n", " a_{21} & a_{22} & ... & a_{2n} \\\\\n", " : & : & ... & : \\\\\n", " a_{m1} & a_{m2} & ... & a_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n} - \n", " \\begin{bmatrix}\n", " b_{11} & b_{12} & ... & b_{1n} \\\\\n", " b_{21} & b_{22} & ... & b_{2n} \\\\\n", " : & : & ... & : \\\\\n", " b_{m1} & b_{m2} & ... & b_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n} = \n", " \\begin{bmatrix}\n", " a_{11} - b_{11} & a_{12} - b_{12} & ... & a_{1n} - b_{1n} \\\\\n", " a_{21} - b_{21} & a_{22} - b_{22} & ... & a_{2n} - b_{2n} \\\\\n", " : & : & ... & : \\\\\n", " a_{m1} - b_{m1} & a_{m2} - b_{m2} & ... & a_{mn} - b_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiplicação" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$A_{m_{x}n}.B_{n_{x}p} = C_{m_{x}p}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiplicação de uma Matriz por um Escalar" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$x_{escalar}.\\begin{bmatrix}\n", " a_{11} & a_{12} & ... & a_{1n} \\\\\n", " a_{21} & a_{22} & ... & a_{2n} \\\\\n", " : & : & ... & : \\\\\n", " a_{m1} & a_{m2} & ... & a_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n} = \n", " \\begin{bmatrix}\n", " x.a_{11} & x.a_{12} & ... & x.a_{1n} \\\\\n", " x.a_{21} & x.a_{22} & ... & x.a_{2n} \\\\\n", " : & : & ... & : \\\\\n", " x.a_{m1} & x.a_{m2} & ... & x.a_{mn} \\\\\n", " \\end{bmatrix}_{m_{x}n}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Experimente uma função que realiza essas operações:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# importando a biblioteca numpy do Python \n", "import numpy as np " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# criando a função principal\n", "def main():\n", " \n", " # menu de escolhas do progama em um loop com uma ordem de parada\n", " while True: \n", " \n", " print(\"\\nEscolha uma das opções de operações com matrizes abaixo:\")\n", " print(\" 1 - Soma entre duas matrizes.\")\n", " print(\" 2 - Subtração entre duas matrizes.\")\n", " print(\" 3 - Multiplicação entre duas matrizes.\")\n", " print(\" 4 - Multiplicação de uma matriz por um escalar.\")\n", " print(\" 5 - Sair do progama\")\n", " \n", " # loop com ordem de parada para que o progama aceite a entrada correta\n", " while True:\n", " \n", " opcao = int(input(\"Insira uma opção abaixo: \"))\n", " \n", " if opcao >= 1 and opcao <= 5:\n", " break\n", " # parar a execução do loop caso o usuário queira terminar o progama\n", " elif(opcao == 5): \n", " break\n", " else:\n", " print(\"Entrada errada. Digite novamente.\\n\")\n", " \n", " # parada geral do progama\n", " if(opcao == 5):\n", " break\n", " \n", " # indo para próximas linhas\n", " print(\"\\n\")\n", " \n", " # recendo a quantidade de linhas e colunas das matrizes\n", " linhaA = int(input(\"Informe a quantidade de linhas da matriz A: \"))\n", " colunaA = int(input(\"Informe a quantidade de colunas da matriz A: \"))\n", " linhaB = int(input(\"Informe a quantidade de linhas da matriz B: \"))\n", " colunaB = int(input(\"Informe a quantidade de colunas da matriz B: \"))\n", " \n", " # inicializando as matrizes com suas devidas ordens e com lixo de memória\n", " A = np.empty([linhaA, colunaA], dtype = float) \n", " B = np.empty([linhaB, colunaB], dtype = float)\n", " \n", " # indo para próxima linha\n", " print(\"\\n\")\n", " \n", " # estrutura de repetição for para implementar os elementos da matriz A\n", " for i in range(0, linhaA):\n", " for j in range(0, colunaA):\n", " A[i][j] = float(input(\"Digite o elemento [{}][{}] da matriz A: \".format(i + 1,j + 1)))\n", " \n", " # indo para próxima linha\n", " print(\"\\n\")\n", " \n", " # estrutura de repetição for para implementar os elementos da matriz B\n", " for i in range(0, linhaB):\n", " for j in range(0, colunaB):\n", " B[i][j] = float(input(\"Digite o elemento [{}][{}] da matriz B: \".format(i + 1, j + 1)))\n", " \n", " # indo para próxima linha\n", " print(\"\\n\")\n", " \n", " # imprime a matriz A\n", " print(\"A matriz A é: \\n{}\".format(A))\n", " \n", " # indo para próxima linha\n", " print(\"\\n\")\n", " \n", " # imprime a matriz B\n", " print(\"A matriz B é: \\n{}\".format(B))\n", " \n", " # recebe um escalar para ser usado na função da opção 4\n", " if(opcao == 4):\n", " escalar = float(input(\"\\nInforme um escalar: \"))\n", " \n", " # indo para próxima linha\n", " print(\"\\n\")\n", " \n", " # caso o usário escolha a opção 1, relativa a soma\n", " if(opcao == 1):\n", " print(\"\\nSoma:\\n\\n {}\".format(soma(A, linhaA, colunaA, B, linhaB, colunaB)))\n", " # se não se, o usuário escolher a opção 2, realtivo a subtração\n", " elif(opcao == 2):\n", " print(\"\\nSubtração: \\n\\n{}\".format(subtracao(A, linhaA, colunaA, B, linhaB, colunaB)))\n", " # se não se, o usuário escolher a opção 3, realtivo a multiplicação\n", " elif(opcao == 3):\n", " print(\"\\nMultiplicação: \\n\\n{}\".format(multiplicacao(A, linhaA, colunaA, B, linhaB, colunaB)))\n", " # se não se, o usuário escolher a opção 4, realtivo a multiplicação de um escalar com uma matriz\n", " elif(opcao == 4):\n", " print(\"\\nMultiplicação de um escalar com uma matriz: \\n\\n{}\".format(multiplicaEscalar(A, B, escalar)))\n", " \n", " return 0" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# função que realiza a soma entre duas matrizes\n", "def soma(matrizA, linhaA, colunaA, matrizB, linhaB, colunaB):\n", " \n", " # verificando se a operação está definida\n", " if(linhaA != linhaB or colunaA != colunaB):\n", " # retornando a mensagem de erro caso não seja uma operação compatível\n", " return \"operação com tais matrizes incompatíveis. Tente novamente.\"\n", " \n", " # definindo a soma\n", " somando = matrizA + matrizB\n", " \n", " # retornando o resultado da função\n", " return somando" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# função que realiza a subtração de duas matrizes\n", "def subtracao(matrizA, linhaA, colunaA, matrizB, linhaB, colunaB):\n", " \n", " # verificando se a operação está definida\n", " if(linhaA != linhaB or colunaA != colunaB):\n", " # retornando uma mensagem de erro caso a operação não seja compatível\n", " return \"operação com tais matrizes incompatíveis. Tente novamente.\"\n", " \n", " #escolhendo a subtração\n", " print(\"1) A - B = ??\")\n", " print(\"2) B - A = ??\")\n", " \n", " # recebendo a opção informada acima e verificando se foi digitado corretamente\n", " while True:\n", " opcao = int(input(\"Informe sua opção: \"))\n", " if(opcao == 1 or opcao == 2):\n", " break\n", " else:\n", " print(\"Opção inválida, digite novamente.\\n\")\n", " \n", " #realizando a operação\n", " if(opcao == 1):\n", " # definindo a operação de subtração\n", " subtraindo = matrizA - matrizB\n", " # retornando o resultado da função\n", " return subtraindo\n", " elif(opcao == 2):\n", " # definindo a operação de subtração\n", " subtraindo = matrizB - matrizA\n", " # retornando o resultado da função\n", " return subtraindo" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# função que realiza a multiplicação de duas matrizes\n", "def multiplicacao(matrizA, linhaA, colunaA, matrizB, linhaB, colunaB):\n", " \n", " #escolhendo a multiplicação\n", " print(\"1) A x B = ??\")\n", " print(\"2) B x A = ??\")\n", " \n", " # recebendo a opção informada acima e fazendo uma verificação de segurança\n", " while True:\n", " opcao = int(input(\"Informe sua opção: \"))\n", " if(opcao == 1 or opcao == 2):\n", " break\n", " else:\n", " print(\"Opção inválida, digite novamente.\\n\")\n", " \n", " # verificando se a operação está definida\n", " if(opcao == 1):\n", " if(colunaA != linhaB):\n", " # retorna uma mensagem de erro caso a operação não seja compatível\n", " return \"operação com tais matrizes incompatíveis. Tente novamente.\"\n", " elif(opcao == 2):\n", " if(colunaB != linhaA):\n", " # retorna uma mensagem de erro caso a operação não seja compatível\n", " return \"operação com tais matrizes incompatíveis. Tente novamente.\"\n", " \n", " #realizando a operação\n", " if(opcao == 1):\n", " # definindo a operação de multiplicação\n", " multiplicando = np.dot(matrizA, matrizB)\n", " # retornando o resultado da função\n", " return multiplicando\n", " elif(opcao == 2):\n", " # definindo a operação de multiplicação\n", " multiplicando = np.dot(matrizB,matrizA)\n", " # retornando o resultado da função\n", " return multiplicando" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# função que multiplica um escalar pela matriz\n", "def multiplicaEscalar(matrizA, matrizB, escalar):\n", " \n", " # escolhendo a matriz\n", " print(\"Qual matriz você quer multiplicar pelo escalar?\")\n", " print(\"1) matriz A\")\n", " print(\"2) matriz B\")\n", " \n", " # recebendo a opção informada acima e fazendo uma verificação de segurança\n", " while True:\n", " opcao = int(input(\"Informe sua opção: \"))\n", " if(opcao == 1 or opcao == 2):\n", " break\n", " else:\n", " print(\"Opção inválida, digite novamente.\\n\")\n", " \n", " if(opcao == 1):\n", " # definindo a multiplicação da matrizA por um escalar\n", " novaMatriz = escalar * matrizA\n", " # retornando o resultado da função\n", " return novaMatriz\n", " elif(opcao == 2):\n", " # definindo a multiplicação da matrizB por um escalar\n", " novaMatriz = escalar * matrizB\n", " # retornando o resultado da função\n", " return novaMatriz" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 2\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 1\n", "Digite o elemento [1][2] da matriz A: 2\n", "Digite o elemento [2][1] da matriz A: 3\n", "Digite o elemento [2][2] da matriz A: 4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 1\n", "Digite o elemento [1][2] da matriz B: 2\n", "Digite o elemento [1][3] da matriz B: 3\n", "Digite o elemento [2][1] da matriz B: 4\n", "Digite o elemento [2][2] da matriz B: 5\n", "Digite o elemento [2][3] da matriz B: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[1. 2.]\n", " [3. 4.]]\n", "\n", "\n", "A matriz B é: \n", "[[1. 2. 3.]\n", " [4. 5. 6.]]\n", "\n", "\n", "\n", "Soma:\n", "\n", " operação com tais matrizes incompatíveis. Tente novamente.\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 2\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 1\n", "Digite o elemento [1][2] da matriz A: 3\n", "Digite o elemento [2][1] da matriz A: 4\n", "Digite o elemento [2][2] da matriz A: 5\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 6\n", "Digite o elemento [1][2] da matriz B: 7\n", "Digite o elemento [2][1] da matriz B: 8\n", "Digite o elemento [2][2] da matriz B: 9\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[1. 3.]\n", " [4. 5.]]\n", "\n", "\n", "A matriz B é: \n", "[[6. 7.]\n", " [8. 9.]]\n", "\n", "\n", "\n", "Soma:\n", "\n", " [[ 7. 10.]\n", " [12. 14.]]\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 2\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 1\n", "Digite o elemento [1][2] da matriz A: 2\n", "Digite o elemento [2][1] da matriz A: 3\n", "Digite o elemento [2][2] da matriz A: 4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 1\n", "Digite o elemento [1][2] da matriz B: 2\n", "Digite o elemento [1][3] da matriz B: 3\n", "Digite o elemento [2][1] da matriz B: 4\n", "Digite o elemento [2][2] da matriz B: 5\n", "Digite o elemento [2][3] da matriz B: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[1. 2.]\n", " [3. 4.]]\n", "\n", "\n", "A matriz B é: \n", "[[1. 2. 3.]\n", " [4. 5. 6.]]\n", "\n", "\n", "\n", "Subtração: \n", "\n", "operação com tais matrizes incompatíveis. Tente novamente.\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 2\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 2\n", "Digite o elemento [1][2] da matriz A: 2\n", "Digite o elemento [2][1] da matriz A: 2\n", "Digite o elemento [2][2] da matriz A: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 3\n", "Digite o elemento [1][2] da matriz B: 4\n", "Digite o elemento [2][1] da matriz B: 5\n", "Digite o elemento [2][2] da matriz B: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[2. 2.]\n", " [2. 2.]]\n", "\n", "\n", "A matriz B é: \n", "[[3. 4.]\n", " [5. 6.]]\n", "\n", "\n", "1) A - B = ??\n", "2) B - A = ??\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe sua opção: 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Subtração: \n", "\n", "[[-1. -2.]\n", " [-3. -4.]]\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 2\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 2\n", "Digite o elemento [1][2] da matriz A: 2\n", "Digite o elemento [2][1] da matriz A: 2\n", "Digite o elemento [2][2] da matriz A: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 3\n", "Digite o elemento [1][2] da matriz B: 4\n", "Digite o elemento [2][1] da matriz B: 5\n", "Digite o elemento [2][2] da matriz B: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[2. 2.]\n", " [2. 2.]]\n", "\n", "\n", "A matriz B é: \n", "[[3. 4.]\n", " [5. 6.]]\n", "\n", "\n", "1) A - B = ??\n", "2) B - A = ??\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe sua opção: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Subtração: \n", "\n", "[[1. 2.]\n", " [3. 4.]]\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 1\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 1\n", "Digite o elemento [1][2] da matriz A: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 1\n", "Digite o elemento [1][2] da matriz B: 2\n", "Digite o elemento [1][3] da matriz B: 3\n", "Digite o elemento [2][1] da matriz B: 4\n", "Digite o elemento [2][2] da matriz B: 5\n", "Digite o elemento [2][3] da matriz B: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[1. 2.]]\n", "\n", "\n", "A matriz B é: \n", "[[1. 2. 3.]\n", " [4. 5. 6.]]\n", "\n", "\n", "1) A x B = ??\n", "2) B x A = ??\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe sua opção: 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Multiplicação: \n", "\n", "[[ 9. 12. 15.]]\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 1\n", "Informe a quantidade de colunas da matriz A: 2\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 1\n", "Digite o elemento [1][2] da matriz A: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 1\n", "Digite o elemento [1][2] da matriz B: 2\n", "Digite o elemento [1][3] da matriz B: 3\n", "Digite o elemento [2][1] da matriz B: 4\n", "Digite o elemento [2][2] da matriz B: 5\n", "Digite o elemento [2][3] da matriz B: 6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[1. 2.]]\n", "\n", "\n", "A matriz B é: \n", "[[1. 2. 3.]\n", " [4. 5. 6.]]\n", "\n", "\n", "1) A x B = ??\n", "2) B x A = ??\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe sua opção: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Multiplicação: \n", "\n", "operação com tais matrizes incompatíveis. Tente novamente.\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe a quantidade de linhas da matriz A: 3\n", "Informe a quantidade de colunas da matriz A: 3\n", "Informe a quantidade de linhas da matriz B: 2\n", "Informe a quantidade de colunas da matriz B: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz A: 1\n", "Digite o elemento [1][2] da matriz A: 2\n", "Digite o elemento [1][3] da matriz A: 3\n", "Digite o elemento [2][1] da matriz A: 4\n", "Digite o elemento [2][2] da matriz A: 5\n", "Digite o elemento [2][3] da matriz A: 6\n", "Digite o elemento [3][1] da matriz A: 7\n", "Digite o elemento [3][2] da matriz A: 8\n", "Digite o elemento [3][3] da matriz A: 9\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Digite o elemento [1][1] da matriz B: 1\n", "Digite o elemento [1][2] da matriz B: 2\n", "Digite o elemento [2][1] da matriz B: 3\n", "Digite o elemento [2][2] da matriz B: 4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "A matriz A é: \n", "[[1. 2. 3.]\n", " [4. 5. 6.]\n", " [7. 8. 9.]]\n", "\n", "\n", "A matriz B é: \n", "[[1. 2.]\n", " [3. 4.]]\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "\n", "Informe um escalar: 5\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Qual matriz você quer multiplicar pelo escalar?\n", "1) matriz A\n", "2) matriz B\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Informe sua opção: 2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Multiplicação de um escalar com uma matriz: \n", "\n", "[[ 5. 10.]\n", " [15. 20.]]\n", "\n", "Escolha uma das opções de operações com matrizes abaixo:\n", " 1 - Soma entre duas matrizes.\n", " 2 - Subtração entre duas matrizes.\n", " 3 - Multiplicação entre duas matrizes.\n", " 4 - Multiplicação de uma matriz por um escalar.\n", " 5 - Sair do progama\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Insira uma opção abaixo: 5\n" ] } ], "source": [ "if __name__ == '__main__':\n", " main() # chamada da função main" ] }, { "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 }