Você está aqui: Python ::: Matplotlib Python Library (Biblioteca Python Matplotlib) ::: Setas e Vetores

Como desenhar setas no Matplotlib do Python usando a função arrow()

Quantidade de visualizações: 1702 vezes
Em algumas situações nós precisamos desenhar setas no Matplotlib do Python. Para isso nós podemos usar a função arrow(). Esta função nos permite fornece as coordenadas x e y iniciais, as coordenadas x e y finais e algumas opções que permitem formatar a seta e a cor.

Nesta dica eu mostrarei como desenhar duas setas, saindo da origem do plano 2D. Veja o resultado na figura abaixo:



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()")
 
  # vamos exibir o grid da área de plotagem
  plt.grid(True)
 
  # vamos desenhar duas setas, começando da origem (0, 0)
  plt.arrow(x=0, y=0, dx=2, dy=5, linewidth=1, color='red', head_length=.3,
    head_width=.3)
  plt.arrow(x=0, y=0, dx=7, dy=3, linewidth=1, color='blue', head_length=.3,
    head_width=.3)   
  
  # finalmente exibimos o resultado
  plt.show()
 
if __name__== "__main__":
  main()

As setas do Matplotlib do Python são muito úteis quando queremos representar vetores no plano cartesiano, ou seja, no plano 2D.

Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em Python

Quantidade de visualizações: 3510 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Python. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Python.

Veja um trecho de código Python completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  # vamos declarar e construir uma matriz de três linhas
  # e três colunas
  linhas, colunas = (3, 3)
  matriz = [[0 for x in range(linhas)] for y in range(colunas)]
  soma_diagonal = 0 # guarda a soma dos elementos na diagonal
  # principal

  # vamos ler os elementos da matriz
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      matriz[i][j] = int(input("Informe o valor para a linha " + str(i) 
        + " e coluna " + str(j) + ": "))

  print()
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()

  # vamos calcular a soma dos elementos da diagonal   
  # principal
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      if i == j:
        soma_diagonal = soma_diagonal + matriz[i][j]

  # finalmente mostramos a soma da diagonal principal
  print("\nA soma dos elementos da diagonal principal é: %d" %
    soma_diagonal)  

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

3  7  9  
2  4  1  
5  6  8  

A soma dos elementos da diagonal principal é: 15



Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural

Exercícios Resolvidos de Python - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando Python

Quantidade de visualizações: 805 vezes
Pergunta/Tarefa:

Veja a seguinte figura:



Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero.

Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A.

Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga).

Sua saída deve ser parecida com:

Valor da carga em kN/m: 10
Distância em metros: 13

A reação no apoio A é: 65.000000 kN
A reação no apoio B é: 65.000000 kN
O momento fletor máximo é: 211.250000 kN

Informe uma distância a partir do apoio A: 4
O momento fletor na distância informada é: 180.000000 kN

A força cortante no apoio A é: 65.000000 kN
A força cortante no apoio B é: -65.000000 kN
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# Algoritmo que calcula reação de apoio, momento fletor
# e força cortante em uma viga bi-apoiada em Python

# vamos importar o módulo Math
import math

# função principal do programa
def main():
  # vamos pedir para o usuário informar o valor da carga
  carga = float(input("Valor da carga em kN/m: "))
  
  # vamos pedir para o usuário informar a distância entre os apoios
  distancia = float(input("Distancia em metros: "))
  
  # vamos calcular a reação no apoio A
  reacao_a = (1.0 / 2.0) * carga * distancia
  
  # vamos calcular a reação no apoio B
  reacao_b = reacao_a
  
  # vamos calcular o momento fletor máximo
  flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0)
  
  # e mostramos o resultado
  print("\nA reação no apoio A é: {0} kN".format(reacao_a))
  print("A reação no apoio B é: {0} kN".format(reacao_b))
  print("O momento fletor máximo é: {0} kN".format(flexao_maxima))
  
  # vamos pedir para o usuário informar uma distância a
  # partir do apoio A
  distancia_temp = float(input("\nInforme uma distância a partir do apoio A: "))
  # vamos mostrar o momento fletor na distância informada
  if distancia_temp > distancia:
    print("\nDistância inválida.")
  else:
    flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \
      (distancia - distancia_temp)
    print("O momento fletor na distância informada é: {0} kN".format(
      flexao_distancia))  
   
  # vamos mostrar a força cortante no apoio A
  cortante_a = (1.0 / 2.0) * carga * distancia
  print("\nA força cortante no apoio A é: {0} kN".format(cortante_a))
  
  # vamos mostrar a força cortante no apoio B
  cortante_b = cortante_a * -1
  print("A força cortante no apoio B é: {0} kN".format(cortante_b))
  
if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Aplicativos e Outros

Como calcular a distância entre dois pontos na terra em Python

Quantidade de visualizações: 1186 vezes
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado.

O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes.

Veja o código Python completo:

----------------------------------------------------------------------
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

# função que recebe dois pontos na terra e retorna a distância
# entre eles em quilômetros
def calcularDistancia(lat1, lat2, lon1, lon2):
  raio_terra = 6378.137 # raio da terra em quilômetros
    
  # o primeiro passo é converter as latitudes e longitudes
  # para radianos
  lon1 = math.radians(lon1)
  lon2 = math.radians(lon2)
  lat1 = math.radians(lat1)
  lat2 = math.radians(lat2)
 
  # agora aplicamos a Fórmula de Haversine
  dlon = lon2 - lon1
  dlat = lat2 - lat1
  a = math.pow(math.sin(dlat / 2), 2) + math.cos(lat1) * math.cos(lat2) \
    * math.pow(math.sin(dlon / 2),2)
             
  c = 2 * math.asin(math.sqrt(a))
 
  # e retornamos a distância    
  return(c * raio_terra)

# método principal
def main():
  # vamos solicitar a latitude e longitude das duas localizações
  lat1 = float(input("Informe a primeira latitude: "))
  lon1 = float(input("Informe a primeira longitude: "))
  lat2 = float(input("Informe a segunda latitude: "))
  lon2 = float(input("Informe a segunda longitude: "))

  # vamos calcular a distância entre os dois pontos em Kms
  distancia = calcularDistancia(lat1, lat2, lon1, lon2)
    
  # mostramos o resultado
  print("A distância entre os dois pontos é: {0} kms".format(distancia))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe a primeira latitude: -16.674551
Informe a primeira longitude: -49.303598
Informe a segunda latitude: -15.579321
Informe a segunda longitude: -56.10009
A distância entre os dois pontos é: 736.9183827638687kms

Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT.

A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador.


Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

document.write(typeof typeof 1);

Qual é o resultado de sua execução?

A) number

B) NaN

C) string

D) true

E) 1
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Noções de licitação pública

O procedimento licitatório compreende duas fases: a fase interna, ocorrida dentro do órgão ou da entidade, e a fase externa.

Sobre as fases da licitação pública, assinale "V" para as afirmativas verdadeiras e "F" para as falsas.

( ) Cabem à comissão de licitação a homologação e a adjudicação do certame.

( ) A fase de habilitação poderá ser invertida a critério da administração e mediante apresentação de justificativa da referida inversão.

( ) A publicação do instrumento convocatório é a última etapa da fase interna da licitação.

A alternativa que apresente a sequência correta é:

A) V, V, V.

B) F, F, F.

C) V, V, F.

D) F, V, V.

E) F, V, F.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Ética Empresarial e Profissional: Noções Gerais

O termo "moral" vem do latim mores, que quer dizer costumes. Portanto, moral é um conjunto de hábitos e costumes praticados por um grupo. Tais hábitos e costumes são aceitos e incorporados por serem considerados bons. Sobre isso, assinale a alternativa correta.

A) Os hábitos, por serem bons, são considerados justos.

B) Os hábitos, mesmo sendo maus, podem ser considerados justos.

C) Independentemente de serem bons ou maus, os hábitos não alteram as condições de realização das pessoas.

D) Considerando que os hábitos bons e justos se tornam imprescindíveis para os indivíduos, eles são convencionados em forma de acordos.

E) Considerando que os hábitos bons e justos se tornam dispensáveis para os indivíduos, eles são convencionados em forma de lei.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares de canto

Os pilares de canto são solicitados pela flexão oblíqua, tendo momentos de 1ª ordem e excentricidades nas direções x e y.

Analise os dados para o pilar a seguir:



Qual o valor das excentricidades no topo e na base do referido pilar, em x e y?

A) e1,x,A = 1,02cm.
e1,x,B = 1,31cm.
e1,y,A = 2,05cm.
e1,y,B = 1,75cm.

B) e1,x,A = 1,52cm.
e1,x,B = 1,31cm.
e1,y,A = 2,22cm.
e1,y,B = 1,99cm.

C) e1,x,A = 2,10cm.
e1,x,B = 1,56cm.
e1,y,A = 1,50cm.
e1,y,B = 1,99cm.

D) e1,x,A = 2,78cm.
e1,x,B = 1,32cm.
e1,y,A = 1,50cm.
e1,y,B = 1,99cm.

E) e1,x,A = 1,78cm.
e1,x,B = 1,32cm.
e1,y,A = 1,22cm.
e1,y,B = 0,99cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O exercício do direito à propriedade

O tema dos direitos de vizinhança tem uma série de regras no Código Civil, que delimita o que um vizinho pode realizar em relação aos limites do exercício regular de seus direitos, que terminam onde iniciam os direitos do outro. Quanto ao tema dos direitos de vizinhança, seus desdobramentos conceituais e regras existentes no Código Civil, analise as assertivas marcando a opção correta:

A) Os direitos de vizinhança são obrigações ambulatórias, propter rem, pois acompanham a coisa, assim como o IPTU e as dívidas de condomínio.

B) Pela teoria da anterioridade ou pré-ocupação, o vizinho que se estabeleceu depois não pode reclamar do barulho do que já estava ali antes.

C) A função social da propriedade é um dos nortes da matéria dos direitos de vizinhança e é construção jurisprudencial, não estando prevista legislativamente.

D) O dono das árvores que estiverem situadas em seu terreno tem direito sobre elas, seus frutos e sua poda, sendo seus os frutos que caem no terreno do vizinho, e seu direito às raízes das árvores que crescem em terreno do vizinho, pois são direitos que decorrem da sua propriedade.

E) O dono ou possuidor do prédio inferior está obrigado a tolerar fluxo de águas artificialmente levadas (a exemplo de aquedutos ou captação de águas pluviais).
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 65 usuários muito felizes estudando em nosso site.