Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Modelagem Matemática
Apresentação
Listaremos as ferramentas ou métodos usados para se obter a solução de problemas matemáticos
clássicos em
Engenharia,
como a determinação de raízes de uma função real, a resolução de sistemas de equações
lineares, a
aproximação de
funções, o cálculo de integrais e a resolução de equações diferenciais ordinárias.
Os métodos se aplicam principalmente a problemas que não apresentam uma solução exata,
portanto precisam ser
resolvidos
numericamente. Para tal, o mais comum é que profissional utilize softwares de cálculo
científico – ou seja,
ferramentas
ou pacotes computacionais voltados à resolução de problemas de cunho numérico.
Objetivos
Identificar os conceitos fundamentais da linguagem de programação Python;
O que é Python?
Fonte: Shutterstock
Característica peculiar
Uma de suas características mais marcantes (e responsável por sua grande popularidade
atualmente) é o fato de ser
mantida
de forma colaborativa e aberta. Além disso, destaca-se a sua simplicidade para
instalação e operação.
Dica
Para tanto, vamos utilizar um caso bem tradicional: um programa que imprima na tela a
expressão "Olá, mundo!".
Aplicaremos
em cada uma das três formas, nos moldes do Python:
Clique nos
botões para ver as informações.
1.Modo interativo
Olá, mundo!
>>> quit()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
s = “Olá, mundo!”
print(s)
>>> execfile("ola.py")
3. Execução de um código diretamente em
terminal
#!/usr/bin/env python
# -*- coding: utf-8 -*-
s = “Olá, mundo!”
print(s)
$ python ola.py
É importante garantir que o caminho do executável do Python faça parte das variáveis de
ambiente do Windows. A forma mais
fácil de se fazer esta tarefa é no ato da instalação,
quando você pode optar por esta possibilidade que facilita em muito o uso
do interpretador
Python.
Agora que você já sabe como executar alguns comandos simples em Python, é hora de avançar:
veremos como declarar
variáveis e dados, simples e estruturados, além das estruturas de
seleção e repetição. Vamos lá?
** Potenciação 2**3 8
* Multiplicação 2*3 6
- Subtração 2-3 -1
+ Adição 2+3 5
Já as variáveis são criadas quando um valor é atribuído a elas. Por exemplo:
>>> x=1
>>> y = x * 2.0
Vemos que a variável x recebe o valor inteiro (int) 1 e, que a variável y recebe
o valor real (double) 2,0. É interessante você
perceber o uso do símbolo “=”. Ele simboliza
a atribuição de valores a variáveis, não a comparação entre dois valores quanto à
igualdade
(este último é expresso em Python por ==). Em Python, você também pode exibir a tela de
conteúdo de variáveis.
Veja só:
>>> print(x,y)
(1, 2.0)
Além disso, você pode também exibir na tela o tipo de variáveis anteriormente
criadas:
Como em outras linguagens de alto nível, Python também permite que você edite
comentários e utilize elementos de
continuação de linha de comando. Veja como isto acontece
no exemplo a seguir:
Tabela 2 – Exemplos de funções matemáticas disponíveis no pacote módulo Python math, com
exemplos de
aplicação.
Pode-se também utilizar operações lógicos em Python. Aqui, o valor lógico verdadeiro recebe o
valor True, enquanto o valor
lógico falso recebe o valor False. Veja na
Tabela 4 os operadores lógicos disponíveis em Python:
and E lógico
or Ou lógico
not Negação
== Igualdade
!= Diferente
>>> x=2
>>> (x >= 1) and (x < 3)
True
Agora que você já sabe como criar variáveis, realizar operações matemáticas e
utilizar funções pré-definidas, creio que seja a
hora adequada de você saber como definir e
realizar operações com matrizes. Em Python, existe o pacote numpy que dá o
suporte para computação científica. Veja a seguir como definir matrizes:
Viu como é simples? Vamos aplicar em um exemplo? Veja a seguir como definir uma
matriz A tal que:
1 2 3
A = [ ]
4 5 6
Esse pacote tem uma série de funções especiais para geração de matrizes muito
utilizadas em computação científica. Veja
algumas destas funções na Tabela 5:
Função Significado
Matriz inteira: A
Elemento da i-ésima linha e j-ésima coluna: A[i,j]
Bloco formado pelas linhas i1 até i2 (exclusive), e pelas colunas j1 até j2 (exclusive):
A[i1:i2, j1:j2]
Além destes comandos, há muitas outras possibilidades interessantes em Python. Veja só:
Dica
Quanto às operações com matrizes, a sintaxe utilizada é a mesma que você já viu
até aqui. No entanto, é importante ressaltar
uma pequena diferença na
multiplicação de matrizes. Em Python, o operador * faz a multiplicação elemento
a elemento, e não
conforme a regra usual de multiplicação de matrizes. Veja no
exemplo a seguir:
>>> C = A.dot(B)
>>> print(C)
[[6 3]
[6 3]]
Estruturas de seleção e de repetição
Em primeiro lugar, vamos ver a estrutura if, utilizada para que somente um
certo trecho do código seja executado caso uma
determinada condição seja satisfeita:
i = 2
if (i == 1):
print("Olá!")
elif (i == 2):
print("Oi!")
elif (i == 3):
print("Op a!")
else:
print("Tchau!")
import numpy as np
for i in np.arange(1,8,2):
print(i)
faz com que seja exibida na tela a sequência 1 – 3 – 5 – 7, pois o valor inicial
da condição é 1, o valor final é 8 e o passo
(incremento) em cada iteração é 2. Logo, o
primeiro valor é 1, o segundo é 1 + 2 = 3, e assim por diante.
Por fim, a instrução while faz com que um código seja executado
repetidamente enquanto determinada condição seja
satisfeita. Assim, vemos que o valor final
de s no trecho a seguir é 55, pois o laço de repetição é executado 10 vezes
(a variável i
assumindo os valores de 1 a 10):
s = 0
i = 1
while (i <= 10):
s
= s + i
i = i + 1
def f(x):
return x + np.sin(x)
f(2*np.pi)
Por fim, para criar gráficos de uma função, utilizamos a biblioteca Python
matplotlib. Em particular, a função
matplotlib.pyplot.plot representa
graficamente um conjunto de pontos (x,y) fornecidos. Por exemplo, o trecho de código a
seguir
permite a geração do gráfico da função f(x) = x3 + 1, no intervalo [-2, 2].
import numpy as np
import matplotlib.pyplot as plt
def f(x): return x**3 + 1
...
x = np.linspace(-2,2)
plt.plot(x, f(x))
plt.grid()
plt.show()
Atividade
1. Assinale a única alternativa que apresenta corretamente o resultado da operação 2**3 em Python:
a) 2/3
b) 2
c) 6
d) 8
e) mensagem de erro
2. Assinale a única alternativa que apresenta corretamente o resultado da execução do código:
import numpy as np
for i in np.arange(2,8,2):
print(i)
a) 1 - 3 - 5 - 7
b) 2
c) 2 - 4 - 6
d) 2 - 4 - 6 - 8
e) nenhuma das alternativas anteriores
def f(x):
return x + np.sin(x)
Assinale a única alternativa que apresenta corretamente o valor exibido na tela após a execução do comando:
f(np.pi)
a) 3.1415
b) 0
c) 1
d) -1
e) 6.283
4. Considere o código apresentado a seguir:
def f(x):
return x + (a)
a) e**x
b) exp(x)
c) e(x)
d) math.exp(x)
e) nenhuma das alternativas anteriores
a) array([[2, 3],
[9, 1]])
b) array([[11, 4],
[9, 4]])
c) array([[1, 3],
[3, 1]])
d) array([[2, 1],
[3, 1]])
e) nenhuma das alternativas anteriores
Notas
Referências
JUSTO, D.A.R.; SAUTER, E.; AZEVEDO, F.S. et al. Cálculo Numérico. Um Livro Colaborativo. Versão Python. Porto Alegre: UFRGS,
2019. Disponível em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-py/livro-py.pdf. Acesso em: 18 nov. 2019.
Próxima aula
Explore mais
https://www.python.org/
//wiki.python.org.br/
Matplotlib
https://matplotlib.org/api/pyplot_api.html?highlight=pyplot.plot#matplotlib.pyplot.plot