Buscar

MODELAGEM MATEMATICA - AULA 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Modelagem Matemática
Aula 1: Introdução à linguagem Python
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 pro�ssional utilize softwares de cálculo cientí�co – ou seja,
ferramentas ou pacotes computacionais voltados à resolução de problemas de cunho numérico.
Apresentaremos os conceitos básicos da linguagem de programação Python, que se presta muito bem como cálculo
cientí�co e que tem a vantagem de ser um software livre. Você aprenderá a forma de declaração de dados e variáveis,
tipos de dados estruturados (vetores e matrizes), bem como as estruturas de rami�cação e repetição. Por �m, você
aprenderá como de�nir e declarar funções, bem como construir grá�cos em Python.
Objetivos
Identi�car os conceitos fundamentais da linguagem de programação Python;
Reconhecer a forma de declaração de dados e variáveis, tipos de dados estruturados (vetores e matrizes), bem como
as estruturas de seleção e repetição em Python;
Implementar funções e grá�cos em Python.
Conceitos fundamentais da linguagem de programação Python
Creio que sua primeira pergunta seja:
O que é Python?
 Fonte: Shutterstock
Trata-se de uma linguagem de programação de alto nível, interpretada e
multiparadigma. Isso quer dizer que os comandos utilizados são mais
intuitivos, permitindo a criação de um código fonte que é executado por um
programa de computador denominado interpretador e que pode ser utilizado
de acordo com diferentes paradigmas de programação, como a
programação orientada a objetos e a programação estruturada.
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 executar um código Python, basta instalar um interpretador para a linguagem. No site o�cial do Python (www.python.org)
estão disponíveis para download os interpretadores Python 2.7 e Python 3.7 para vários sistemas operacionais, como Linux,
Mac OS e Windows.
Formas básicas de utilização
Agora que você já sabe as principais vantagens do Python e onde encontrá-lo, é hora de conversarmos sobre o seu uso.
Veremos três formas básicas de utilização desta linguagem.
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.
No primeiro caso, temos a execução no console da seguinte maneira:
Olá, mundo!
Viu como é fácil? Para sair do console, basta digitar:
1.Modo interativo 
 
>>> s = "Olá, mundo!"
>>> print(s)
 
>>> quit()
Já no segundo caso, é necessário que você abra o editor de texto de sua preferência e digite o código:
Simples, não é? Depois de editar, salve o arquivo como ola.py, por exemplo. Depois, basta digitar no console Python:
2. Execução de um código no console Python 
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
s = “Olá, mundo!”
print(s)
 
>>> execfile("ola.py")
Para executar em um terminal, também é necessário que você abra o editor de texto de sua preferência e digite o código:
De igual modo, depois de editar, salve o arquivo como ola.py, por exemplo. Por �m, em um terminal, digite:
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á?
Utilização do Python – operações básicas
Dentre os diversos modos de emprego do Python, o mais simples é digitar os comandos, como se fosse uma calculadora. Veja
o que está indicado na Figura 1 apresentada a seguir. Por exemplo, para executar a operação de adição entre 5 e 5, executa-se
o comando 5+5. O resultado é apresentado logo a seguir, como se vê na segunda linha (10):
Figura 1 – Tela de comandos do Python
As operações aritméticas básicas são representadas conforme exposto na Tabela 1. A ordem de execução de operações segue
a regra aritmética usual. Assim, você tem que as operações entre parênteses são calculadas em primeiro lugar, de acordo com
a ordem: potenciação, multiplicação e divisão, e adição e subtração.
Tabela 1 – Lista de operadores e operações aritméticas, com exemplos de aplicação.
Operador Operação Exemplo Resultado
** Potenciação 2**3 8
/ Divisão 2/3 0.666
* 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:
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ó:
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:
Já para utilizar funções e constantes matemáticas elementares, o Python disponibiliza o módulo math. Veja a seguir como
utilizar:
Assim, é importante você saber que este pacote Python disponibiliza, ao ser instalado, uma série de funções e constantes
matemáticas básicas para os usuários, conforme exposto a seguir nas Tabelas 2 e 3, respectivamente. Para consultar a lista
completa de funções disponíveis no pacote math, basta digitar o comando help (math) no console Python.
 
>>> x=1
>>> y = x * 2.0
 
>>> print(x,y)
(1, 2.0)
 
>>> type(x), type(y)
(<type ’int’>, <type ’float’>)
 
>>> #isto é um comentário
...
>>> x = 1 \
... + 2
>>> print(x)
3
 
>>> import math as math
>>> math.cos(math.pi)
-1.0
Tabela 2 – Exemplos de funções matemáticas disponíveis no pacote módulo Python math, com exemplos de
aplicação.
Função Significado Exemplo Resultado
sin(x) Seno do ângulo x, em radianos math.sin(1.57) 1
cos(x) Cosseno do ângulo x, em
radianos
math.cos(3.14) -1
tan(x) Tangente do ângulo x, em
radianos
math.tan(0) 0
log(x) Logaritmo de x, base neperiana math.log(2.71828) 1
log10(x) Logaritmo de x, base decimal math.log10(100) 2
exp(x) Exponencial de x math.exp(1) 2.7183
sqrt(x) Raiz quadrada de x math.sqrt(4) 2
Tabela 3 – Exemplos de constantes disponíveis no pacote módulo Python math.
Constante Significado Valor
math.pi Constante pi 3.1415
math.e Constante de Neper 2.7183
Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online
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:
Tabela 4 – Lista de operadores lógicos disponíveis em Python.
Operador Significado
and E lógico
or Ou lógico
not Negação
== Igualdade
!= Diferente
< Menor que
> Maior que
<= Menor que ou igual a
>= Maior que ou igual a
A seguir,um pequeno exemplo de uso desses operadores lógicos:
Agora que você já sabe como criar variáveis, realizar operações matemáticas e utilizar funções pré-de�nidas, creio que seja a
hora adequada de você saber como de�nir e realizar operações com matrizes. Em Python, existe o pacote numpy que dá o
suporte para computação cientí�ca. Veja a seguir como de�nir matrizes:
Viu como é simples? Vamos aplicar em um exemplo? Veja a seguir como de�nir uma matriz A tal que:
Esse pacote tem uma série de funções especiais para geração de matrizes muito utilizadas em computação cientí�ca. Veja
algumas destas funções na Tabela 5:
 
>>> x=2
>>> (x >= 1) and (x < 3)
True
 
>>> import numpy as np
>>> A = np.array([[ a11 , a12 , ... , a1n], [...]. [am1 , am2 , ... , amn]])
 
>>> import numpy as np
>>> A = np.array([[1,2,3],
... [4,5,6]])
>>> print(A)
[[1 2 3]
[4 5 6]]
A = [ ]1
4
2
5
3
6
Tabela 5 – Funções do pacote numpy para geração de matrizes particulares em Python.
Função Significado
numpy.eye Matriz identidade
numpy.linspace Vetor de elementos linearmente espaçados
numpy.ones Matriz com todos os elementos iguais a 1
numpy.shape Retorna o tamanho de uma matriz, em linhas e colunas
numpy.zeros Matriz nula
Como acessar os elementos de uma matriz dada A em Python? Veja os métodos a seguir:
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ó:
A[:,:] toda a matriz;
A[i:j,k] os elementos das linhas i até j (exclusive) da k-ésima coluna;
A[i,j:k] os elementos da i-ésima linha das colunas j até k (exclusive);
A[i,:] a i-ésima linha da matriz;
A[:,j] a j-ésima coluna da matriz.
Dica
Uma dica muito importante é lembrar que, em Python, os índices iniciam-se em 0.
Para ilustrar todas estas informações, acompanhe o exemplo apresentado a seguir:
 
>>> from numpy import random
>>> A = np.random.random((3,4))
>>> A array([[ 0.39235668, 0.30287204, 0.24379253, 0.98866709], [ 0.72049734, 0.99300252, 0.14232844,
0.25604346], [ 0.61553036, 0.80615392, 0.22418474, 0.13685148]])
>>> A[2,3] 0.13685147547025989
>>> A[1:3,1:4] array([[ 0.99300252, 0.14232844, 0.25604346], [ 0.80615392, 0.22418474, 0.13685148]])
Por sinal, repare que o último comando apresenta os elementos da matriz que estão na segunda e terceira linhas, e da segunda
à quarta coluna.
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:
Então, como fazer a multiplicação de matrizes? Veja a seguir:
 
>>> A = np.array([[1,2],[2,1]]); print(A)
[[1 2]
[2 1]]
>>> B = np.array([[2,1],[2,1]]); print(B)
[[2 1]
[2 1]]
>>> print(A*B)
[[2 2]
[4 1]]
 
>>> 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:
Aqui, vemos que a mensagem exibida é “Oi!”, em função do valor colocado na condição de seleção de mensagens.
Já a instrução for permite que determinado trecho de código seja executado repetidamente. Por exemplo, o código:
faz com que seja exibida na tela a sequência 1 – 3 – 5 – 7, pois o valor inicial da condição é 1, o valor �nal é 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 �m, a instrução while faz com que um código seja executado repetidamente enquanto determinada condição seja
satisfeita. Assim, vemos que o valor �nal 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):
Funções e grá�cos em Python
Agora que você já identi�cou algumas de�nições relevantes em Python, já está na hora de começar a de�nir suas próprias
funções. Para isso, existe a instrução def. Por exemplo, a função f(x) = x + sen(x) pode ser de�nida da forma apresentada a
seguir:
Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online
 
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)
 
s = 0
i = 1
while (i <= 10):
s = s + i
i = i + 1
Aplicando para o cálculo de 2π, basta digitar
e você terá aproximadamente 6,28 (que é igual a 2 π) como resposta.
Por �m, para criar grá�cos de uma função, utilizamos a biblioteca Python matplotlib. Em particular, a função
matplotlib.pyplot.plot representa gra�camente um conjunto de pontos (x,y) fornecidos. Por exemplo, o trecho de código a seguir
permite a geração do grá�co da função f(x) = x3 + 1, no intervalo [-2, 2].
Veja na Figura 2 o grá�co gerado:
 
def f(x):
return x + np.sin(x)
 
f(2*np.pi)
 
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()
Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online
Figura 2 – Gráfico gerado em Python.
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
3. Considere o código apresentado a seguir:
Assinale a única alternativa que apresenta corretamente o valor exibido na tela após a execução do comando:
 
def f(x):
return x + np.sin(x)
 
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
5. Considere o código a seguir:
Assinale a única alternativa que apresenta corretamente o valor de A*B:
 
>>> A = np.array([[1,3],[3,1]]); print(A)
>>> B = np.array([[2,1],[3,1]]); print(B)
>>> print(A*B)
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
Principais sistemas de numeração e de mudança de base;
Principais padrões de representação numérica;
Conceitos fundamentais de teoria dos erros.
javascript:void(0);
Explore mais
Consulte os sites a seguir e aprenda mais um pouco:
Página o�cial da linguagem Python 
https://www.python.org/
Comunidade Python Brasil 
//wiki.python.org.br/
Curso EAD gratuito – Codecademy
https://www.codecademy.com/learn/python
Matplotlib 
https://matplotlib.org/api/pyplot_api.html?highlight=pyplot.plot#matplotlib.pyplot.plot
javascript:void(0);
javascript:void(0);
javascript:void(0);
javascript:void(0);

Continue navegando