Buscar

BC_Aula2

Prévia do material em texto

1
BC 0005 – Bases Computacionais da Ciência
Representação Gráfica de Funções
David Correa Martins Jr
david.martins@ufabc.edu.br
Motivação
2
Em diferentes áreas da Ciência busca-se modelar 
fenômenos por meio de funções matemáticas a fim de 
reproduzir os comportamentos observados na natureza
Dado um modelo, muitas vezes,
temos a necessidade de
visualizar o comportamento do
mesmo
Gráficos de funções auxiliam o
entendimento dos 
fenômenos Atrator de Lorenz - 1963
(efeito borboleta)
http://www.youtube.com/watch?v=GqlEG-XbAQY
Motivação
3
http://www.gapminder.org/world/#$majorMode=chart$is;shi=t;ly=2003;lb=f;il=t;fs=11;al=30;stl=t;st=t;nsl=t;se=t$wst;tts=C$ts;sp=5.59290322580644;ti=2008$zpv;v=0$inc_x;mmid=XCOORDS;iid=ti;by=in
d$inc_y;mmid=YCOORDS;iid=phAwcNAVuyj1NHPC9MyZ9SQ;by=ind$inc_s;uniValue=4.86;iid=phAwcNAVuyj0XOoBL_n5tAQ;by=universal$inc_c;uniValue=255;gid=CATID0;by=grp$map_x;scale=log;d
ataMin=1751;dataMax=2008$map_y;scale=lin;dataMin=0;dataMax=7031277$cd;bd=0$inds=i44_t001899,,,,;i240_t001800,,,,;i101_t001858,,,,;i184_t001992,,,,;i110_t001950,,,,;i29_t001901,,,,;i102_t001
889,,,,
Emissão de CO2 na atmosfera
Motivação
4
Motivação
5
Crescimento populacional
Motivação
6Espectrograma do 'sonho'
Função
7
O estudo de funções decorre da necessidade de:
� Analisar fenômenos, visualizando o comportamento de 
um sistema.
� Interpretar interdependências, entendendo como uma 
variável comporta-se com relação à outra.
� Encontrar soluções de problemas.
� Descrever regularidades.
� Generalizar.
8
Encontrar Soluções de Problemas
Função
Definição de uma função
9
Uma função é uma regra segundo a qual, para cada 
elemento x em um conjunto A corresponde um único 
elemento y em um conjunto B.
O conjunto A é chamado domínio da função e o conjunto
B é o contra-domínio, ou imagem.
y = f(x)
A variação de y é o conjunto de todos os valores possíveis 
de f(x) quando x varia em todo o domínio.
Definição de uma função
10
Considere a variação de espaço em relação ao tempo, 
durante a trajetória de um trem por uma ferrovia
O que se deseja saber é como varia o espaço percorrido 
pelo trem de acordo com o tempo gasto
Foram feitas medidas do espaço
percorrido pelo trem em intervalos
de tempo iguais, por exemplo,
de hora em hora,
com os seguintes resultados:
Tempo (h) Espaço (Km)
0 0
1 20
2 40
3 60
4 80
5 100
Definição de uma função
11
Podemos afirmar que entre dois conjuntos há uma 
correspondência quando existe uma “regra” tal que, ao se 
considerar um elemento de um conjunto, podemos associá-lo 
fazendo uso da “regra” a outro elemento do outro conjunto.
Existe uma regra de 
formação, que relaciona 
estes dois conjuntos 
(tempo e espaço)?
Definição de uma função
12
A correspondência entre os mesmos pode ser 
representada pela seguinte frase:
“O espaço é numericamente igual a 20 vezes o tempo, ou 
seja, E = 20*T”
Dados os conjuntos T (tempo) e 
E (espaço).
Qual a regra que associa um 
elemento de T a um elemento de 
E?
Definição de uma função
13
Espaço (E) = 20 * Tempo (T)
E = 20*T
y = f(T) = 20*T
Domínio da função = conjunto do tempo
Imagem da função = conjunto dos valores do espaço percorrido
y = f(0) = 20*0 = 0
y = f(1) = 20*1 = 20
y = f(2) = 20*2 = 40
y = f(3) = 20*3 = 60
…
Exercício (5min)
14
Determine:
a) Variáveis envolvidas
b) Variável dependente
c) Variável independente
d) Domínio da função
e) Conjunto imagem
f) A variação da dívida entre 
os anos de 1985 e 1987
g) A dívida permaneceu 
constante em algum 
período?
A dívida pública dos EUA (em bilhões de dólares) para 
alguns anos encontra-se no gráfico a seguir:
Representação de uma função
15
Uma função pode ser representada das seguintes formas: 
� Verbalmente (descrevendo-a com palavras)
� Numericamente (através de tabela de valores)
� Visualmente (através de gráficos)
� Algebricamente (utilizando-se uma fórmula explícita)
Representação gráfica (exemplo 1)
16
Suponha que deseja-se prever a taxa de crescimento de 
uma faixa sócio econômica da população em um período 
de anos não abordado na pesquisa.
Seria necessário fazer um modelo matemático em cima 
do gráfico obtido com os dados disponíveis para se 
conseguir a informação desejada através de uma 
extrapolação.
17
Representação gráfica (exemplo 1)
18
Considere os dados da tabela que mostram o crescimento 
de uma população (em milhares) de bactérias
Qual a equação que descreve esse crescimento 
populacional de bactérias? Esboce o gráfico (~3min)
Representação gráfica (exemplo 2)
19
Populações, em geral, crescem 
muito rapidamente, pois a cada 
geração são mais indivíduos 
para se reproduzir
Dividindo a população de cada 
geração pela da geração 
anterior, obtém-se:
Efetuando os mesmos 
cálculos para os outros 
dados, teremos também o 
valor 1,3
Representação gráfica (exemplo 2)
20
Representação gráfica (exemplo 2)
21
Esta é uma função exponencial com base 1,3, assim 
chamada porque a variável x está no expoente
A base representa um fator de crescimento pelo qual a 
população muda a cada geração. 
Considerando r a taxa 
percentual, diz-se 
neste caso
que a taxa de 
crescimento
é r = 30% = 0,3
Representação gráfica (exemplo 2)
22
Parte Prática
Ferramentas de visualização
23
Existem diversas ferramentas para utilizadas em calculos
matemáticos avançados.
- Matlab
- Maple
- Octave
- Scilab
- Rlab (r-project)
- SciPy (python)
- Fortran
Geralmente contam com bibliotecas de funções matemáticas 
prontas e recursos avançados.
Scilab
24
É um software utilizado para resolução de problemas 
numéricos. É gratuito e distribuído com código fonte.
Permite trabalhar com diversos objetos matemáticos
(matrizes, polinômios, equações, etc.)
Ambiente de programação que permite a criação de novas 
funções/bibliotecas do usuário
Instale o Scilab no seu computador
Prompt do Scilab é representado por uma seta -->
Scilab
A interação do usuário com o Scilab pode ocorrer de duas
formas distintas:
Na primeira forma, os comandos são digitados diretamente
no prompt do Scilab:
� Ao ser pressionada a tecla Enter, os comandos digitados são
interpretados e imediatamente executados
� O Scilab funciona como uma sofisticada calculadora
Na segunda forma, um conjunto de comandos é digitado em
um arquivo texto:
� Este arquivo, em seguida, é levado para o ambiente Scilab e 
executado
� Neste modo, o Scilab funciona como um ambiente de 
programação
Scilab
27
Digitando o comando:
estaremos criando uma variável real chamada x cujo valor é
igual a 2.
O ponto-e-vírgula ao final da instrução não é obrigatório.
Caso ele não seja colocado, a variável será apresentada na 
tela:
Scilab
Em programas computacionais precisamos armazenar 
informações para utilizarmos durante a execução do 
programa
Armário ↔
Memória do 
computador
3000:B712
2000:12EC
Variáveis
As linguagens de programação permitem que os usuário 
atribuam nomes para as posições de memória da máquina
Armário ↔
Memória do 
computador
nome
idade
nacionalidade
profissao
Variáveis
Uma variável é um endereço da
memória de acesso randômico (RAM), 
representada por um nome (rótulo), 
criado pelo usuário, cujo conteúdo pode
se alterar no decorrer do programa.
nome
Uma variável é composta por dois elementos:
• Identificador: nome dado pelo programador à variável
• Conteúdo: valor atual da variável
Variáveis
nome
idade
nacionalidade
profissao
Maria Carla
nomeIdentificador
17
idadeIdentificador
brasileira
nacionalidadeIdentificadorestudante
profissaoIdentificador
Variáveis
Uma variável assume apenas
um valor por vez
32
Veremos agora como, cada vez que mencionarmos o nome 
de uma variável, estaremos na verdade utilizando o seu 
conteúdo
Esta operação define y como sendo uma variável 
com valor igual ao valor de x mais cinco, ou seja, 
y terá um valor igual a 7
Neste caso, z será igual à multiplicação dos 
valores guardados em x e y, ou seja, z será igual 
a 14
Aqui, w será igual à divisão dos valores 
guardados em z e x, ou seja, w
será igual a 7
Scilab
33
Além dos operadores acima, o Scilab possui várias funções 
matemáticas que podem ser facilmente utilizadas, como por 
exemplo: 
Scilab
A função exp() representa a 
exponencial natural. 
Ou seja, 
exp(x) = ex e = 2,7182...
34
Scilab
35
Vamos considerar a função:
Existem duas formas para se definir estes valores:
� Definindo diretamente os pontos x nos quais queremos 
plotar a função.
� Definindo um intervalo de valores de x no qual queremos 
plotar a função
Scilab – Passo 1
No intervalo x ∈ [0;2pi]
Sempre que desejamos produzir um gráfico de uma função, 
precisamos definir em quais pontos gostaríamos de 
visualizar a função, ou seja, para quais valores de x.
36
Iremos definir para a função sin(x) um intervalo de valores 
de x no qual queremos plotar a função: [0;2pi]. 
Tal instrução criará um vetor x cujo primeiro valor será
igual ao primeiro valor do intervalo.
O segundo valor será dado pelo valor anterior somado ao 
valor do passo.
Isto irá se repetir até que o valor da soma seja maior ou 
igual ao último valor do intervalo.
Scilab – Passo 1
37
Por exemplo, considere o seguinte comando:
Que irá resultar no vetor:
x=[0 0.01 0.02 0.03 0.04 0.05 0.06 ... 6.28]
Tendo criado um vetor x, precisamos agora encontrar os 
valores de f (x) nestes pontos. Para tanto, utilizamos o 
seguinte comando:
Gera um vetor f cujos elementos 
são dados pelo seno dos 
elementos definidos em x.
Scilab – Passo 1
38
Finalmente, podemos fazer o gráfico utilizando o
comando:
O primeiro 
parâmetro se 
refere ao eixo das 
abscissas e o 
segundo ao eixo 
das ordenadas
Scilab – Passo 2
39
Resumindo o que foi visto até aqui, produzimos o gráfico 
utilizando a seguinte sequência de instruções:
Scilab – Passo 2
40
Para colocar nomes nos eixos dos gráficos podemos usar 
os comandos:
Scilab – Passo 3
41
Para colocar as linhas de grade no gráfico, podemos usar 
o comando:
--> a=gca();
--> a.grid = [1 1]
Scilab – Passo 4
gca = get current axes
42
Para alterar a cor da curva no gráfico, podemos adicionar 
um parâmetro ao comando plot, dado pela primeira letra 
da cor desejada em Inglês. Por exemplo:
Scilab – Passo 5
Cuidados adicionais
Multiplicação/divisão entre vetores:
--> z = x.*y;
--> w = x./y;
--> p = x.^2;
x = -10 : 0.01 : 10;
y1 = x.^2;
plot(x,y1);
y2 = x.* exp(x);
plot(x,y2);
-->help exp
x = 1:0.01:4;
y = x.^2-5.*x+6;
plot(x,y)
a=gca();
a.data_bounds=[1,-1;4,1];
a.grid = [1 1];
plot(2,0,'r*')
plot(3,0,'g*')
Construção de gráficos em 2D
Raizes: x=2 e x=3
x = -5*%pi : 1 : 5*%pi ;
y = sin(x) ;
plot ( x, y, 'bo-') ;
x = -5*%pi : 0.5 : 5*%pi ;
plot ( x, cos(x), 'r*-') ;
x = -5*%pi : 0.1 : 5*%pi ;
plot(x, cos(x+0.5)) ;
clf() ← limpa a tela gráfica, evitando que o próximo gráfico 
sobreponha-se ao anterior
Construção de gráficos em 2D
46
no intervalo x = [0; 40]
Construção de gráficos em 2D
Atividade em aula (10 min)
A empresa COLKS é a uma indústria automobilística em um pais, 
onde a moeda oficial é o dubila. O lucro mensal da COLKS é função 
do número de carros produzidos no mês.
Ela tem um custo fixo de 50 dubilas e um custo variável em função 
do número de carros produzidos no mês (NC) dado por 48(NC)0,9. 
Vamos dizer que ela venda cada carro por 50 dubilas. Assim, o seu 
lucro L mensal é dado por
1. Determine o lucro L da COLKS ao produzir NC=1, NC=4 e NC=10
carros. Interprete os resultados que você obteve.
2. Agora faça um gráfico de L em função de NC para 0≤NC≤ 20. A 
partir de quantos carros mensalmente vendidos a COLKS começa 
a ter lucro?
3. Analisando o gráfico, quantos carros a COLKS tem que produzir 
no mês para ter um lucro de cerca de 100 dubilas?
48
Atividade em aula
1
49
Atividade em aula
2
50
x = 0:0.01:100;
y = exp(-x.^2/200).*sin(x);
plot (x,y);
a = 10.0;
b = 1.0;
c = 0.5;
t = 0 : 0.01 : 2*%pi;
x = b*cos(t);
y = b*sin(t);
z = c*cos(a*t);
plot3d(x, y, z); 
Scilab – Gráficos tridimensionais
Gráficos tridimensionais
51
Comandos usados para a criação de gráficos em 3D:
o meshgrid: cria matrizes ou vetores 3D
o plot3d: cria um gráfico 3D
Vamos criar o gráfico 3D da seguinte função:
z = 9-(x2+y2)
52
Gráficos tridimensionais
53
Para o gráfico deste exercício, agora aumente o intervalo de 
variação dos valores da variável d, para 1
z=9-(x2+y2)
Gráficos tridimensionais
54
Gráficos tridimensionais
55
z=9-(x2+y2)
d = [-3:0.1:3];
[x,y] = meshgrid (d);
z = sin(x) .* cos(y);
plot3d(d,d,z)
Gráficos tridimensionais
Capítulos 3 e 4 do livro
Slides da Aula 2 (referentes ao capítulo 3 do livro)
Tidia, seção Repositório
Slides da Aula 3 (referentes ao capítulo 4 do livro)
Tidia, seção Repositório
Estudar e fazer os exercícios
56
Atividades para casa

Continue navegando