Você está aqui: Python ::: Matplotlib Python Library (Biblioteca Python Matplotlib) ::: Setas e Vetores |
Como representar a soma de vetores 2D no Matplotlib do Python usando a função arrow()Quantidade de visualizações: 1206 vezes |
Nesta dica mostrarei como podemos tirar proveito da função arrow() do Matplotlib do Python para representar a soma de vetores. A soma (ou adição) de dois vetores é feita de acordo com a lei do paralelogramo, na qual, geometricamente, partindo-se do ponto final do vetor u, desenha-se um vetor v2 paralelo ao vetor v. Então, partindo do vetor v, desenha-se um vetor u2 paralelo ao vetor u. Esses quatro vetores formam um paralelogramo. O vetor u + v é a diagonal desse paralelogramo. Em coordenadas cartesianas a soma de vetores é feita simplesmente somando-se os respectivos componentes de cada vetor (no R2 ou R3). Obtém-se a soma entre dois vetores, no R2 ou R3, por meio da fórmula a seguir (assumindo dois vetores __$\vec{u} = (a, b)__$ e __$\vec{v} = (c, d)__$ no R2). \[\vec{u} + \vec{v} = (a + c, b + d) \] Veja, no gráfico abaixo, o resultado da execução do código Python que faremos para somar os vetores (4, 2) e (-5, 7): Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a biblioteca Matplotlib import matplotlib.pyplot as plt def main(): # definimos o título para a área de plotagem plt.title("Uso da função arrow() para plotar vetores no R2") # vamos exibir o grid da área de plotagem plt.grid(True) # vamos desenhar dois vetores, começando da origem (0, 0) u = (4, 2) v = (-5, 7) # e agora obtemos a soma deles soma = (u[0] + v[0], u[1] + v[1]) # vetor u plt.arrow(x=0, y=0, dx=u[0], dy=u[1], linewidth=1, color='red', head_length=.3, head_width=.3) # vetor v plt.arrow(x=0, y=0, dx=v[0], dy=v[1], linewidth=1, color='blue', head_length=.3, head_width=.3) # vetor soma plt.arrow(x=0, y=0, dx=soma[0], dy=soma[1], linewidth=1, color='green', head_length=.3, head_width=.3) # finalmente exibimos o resultado plt.show() if __name__== "__main__": main() Na figura eu pintei o vetor u de vermelho, o vetor v de azul e o vetor soma foi pintado de verde. |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar os argumentos padrões das funções e métodos em PythonQuantidade de visualizações: 7515 vezes |
Geralmente quando efetuamos chamadas às funções, nosso código fica responsável por fornecer os valores para os argumentos da função. Em Python é possível termos argumentos padrões, e tais argumentos já podem ter um valor pré-definido. Desta forma, a passagem dos parâmetros se torna opcional. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função com argumento padrão def erro(msg = "Houve um erro."): print(msg) def main(): # chamada à função fornecendo o argumento erro("Erro desconhecido.") # chamada à função sem fornecer o argumento erro() if __name__== "__main__": main() Ao executarmos este exemplo nós teremos o seguinte resultado: Erro desconhecido. Houve um erro. Veja mais um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função com argumentos padrões def volume(comprimento = 1, largura = 1, altura = 1): return (comprimento * largura * altura) def main(): # chamada à função fornecendo um argumento print(volume(3)) # chamada à função fornecendo dois argumentos print(volume(4, 5)) # chamada à função fornecendo três argumentos print(volume(4, 5, 7)) # chamada à função fornecendo nenhum argumento print(volume()) if __name__== "__main__": main() Ao executarmos este exemplo nós teremos o seguinte resultado: 3 20 140 1 É importante observar que os argumentos padrões devem estar sempre à direita dos demais argumentos. Falhar em cumprir esta exigência pode causar um erro do tipo: SyntaxError: non-default argument follows default argument |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d´água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por KmQuantidade de visualizações: 294 vezes |
Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km Pergunta/Tarefa: Python para Fenômenos dos Transportes, Hidráulica e Drenagem. Python para cálculo de vazão em condutos livres. Fórmula de Manning para a velocidade de escoamento. Neste exercício em Python veremos como calcular a vazão de um canal com seção retangular. Para isso nós vamos usar a Equação de Manning da velocidade do escoamento. Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize η=0,012. Sua saída deverá ser parecida com: Informe a Largura da Base do Canal (em metros): 3 Informe a Profundidade do Escoamento (em metros): 2 Informe a Declividade do Canal (em metros por km): 0.2 Informe o Coeficiente de Rugosidade do Canal: 0.012 A Área Molhada do Canal é: 6.0 m2 O Perímetro Molhado do Canal é: 7.0 m O Raio Hidráulico do Canal é: 0.8571428571428571 m A Velocidade do Escoamento é: 1.0634144533132281 m/s A Vazão do Canal é: 6.380486719879369 m3/s Veja a resolução completa para o exercício em Python, comentada linha a linha: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math # método principal def main(): # vamos ler a largura do canal em metros b = float(input("Informe a Largura da Base do Canal (em metros): ")) # vamos ler a profundida do escoamento em metros h = float(input("Informe a Profundidade do Escoamento (em metros): ")) # vamos obter a declividade do canal em metros por quilômetros I = float(input("Informe a Declividade do Canal (em metros por km): ")) # vamos converter a declividade em metro por metro I = I / 1000.0 # vamos ler o coeficiente de rugosidade do canal n = float(input("Informe o Coeficiente de Rugosidade do Canal: ")) # vamos calcular a área molhada am = b * h # agora vamos calcular o perímetro molhado pm = b + 2 * h # finalmente calculamos o raio hidráulico rh = am / pm # agora vamos usar a equação de manning para calcular a velocidade do escoamento v = math.pow(rh, 2.0 / 3.0) * (math.sqrt(I) / n) # finalmente calculamos a vazão do canal Q = am * v # e mostramos os resultados print("\nA Área Molhada do Canal é: {0} m2".format(am)) print("O Perímetro Molhado do Canal é: {0} m".format(pm)) print("O Raio Hidráulico do Canal é: {0} m".format(rh)) print("A Velocidade do Escoamento é: {0} m/s".format(v)) print("A Vazão do Canal é: {0} m3/s".format(Q)) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Lista (List) |
Vetores e matrizes em Python - Como inserir itens em posições aleatórias de uma listaQuantidade de visualizações: 9468 vezes |
Este exemplo mostra como adicionar itens em posições aleatórias de uma lista Python. Note como usamos o método insert() da classe List passando um valor randômico para o índice no qual o novo elemento será inserido. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo random import random def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 11): valor = int(input("Informe um inteiro: ")) if(len(valores) == 0): valores.insert(0, valor) else: # insere o valor em um posição aleatória valores.insert(random.randrange(0, len(valores)), valor) # exibe os valores da lista print("Valores na lista:", valores, "\n") # fim do laço for if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Informe um inteiro: 9 Valores na lista: [9] Informe um inteiro: 3 Valores na lista: [3, 9] Informe um inteiro: 2 Valores na lista: [2, 3, 9] Informe um inteiro: 8 Valores na lista: [2, 3, 8, 9] Informe um inteiro: 10 Valores na lista: [10, 2, 3, 8, 9] Informe um inteiro: 18 Valores na lista: [18, 10, 2, 3, 8, 9] Informe um inteiro: 30 Valores na lista: [18, 10, 30, 2, 3, 8, 9] Informe um inteiro: 60 Valores na lista: [18, 10, 30, 2, 3, 8, 60, 9] Informe um inteiro: 67 Valores na lista: [18, 10, 67, 30, 2, 3, 8, 60, 9] Informe um inteiro: 82 Valores na lista: [18, 10, 67, 30, 2, 3, 8, 82, 60, 9] |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |