Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2016 / 17

Documentos relacionados
Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2018 / 19

Informática para Ciências e Engenharias (B) 2015/16. Teórica 11

Informática para Ciências e Engenharias (B) 2016/17. Teórica 10

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3

Informática para Ciências e Engenharias (B) 2015/16. Teórica 5

Breve resolução do e-fólio B

Informática para Ciências e Engenharias (B) 2015/16. Teórica 9

Informática para Ciências e Engenharias (B) 2015/16. Teórica 3

Podemos utilizar o cálculo do determinante para nos auxiliar a encontrar a inversa de uma matriz, como veremos à seguir.

Informática para Ciências e Engenharias (B) 2015/16. Teórica 10

Informática para Ciências e Engenharias (B) 2015/16. Teórica 6

Análise matricial de estruturas não-lineares usando o Método de Newton.

Informática para Ciências e Engenharias (B) 2015/16. Teórica 4

Na figura abaixo, a balança está em equilíbrio e as três melancias têm o mesmo peso. Nessas condições, qual é o peso (em kg) de cada melancia?

A linguagem matemática

4 DEFINIÇÃO DA GEOMETRIA, MALHA E PARÂMETROS DA SIMULAÇÃO

A linguagem matemática

Sist. Lin. I. Sistemas Lineares Introdução Definições Geometria Resolução Equivalência Eliminação de Gauss Após Escalonamento. Sist. Lin.

Informática para Ciências e Engenharias (B) 2015/16. Teórica 2

Informática para Ciências e Engenharias (B) 2016/17. Teórica 2

SEM0 M Aul u a l a 14 Sistema de Múltiplos Corpos Sistema Pro r f. D r. r Ma M r a c r elo l Becker SEM - EESC - USP

ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE 2A - 15 DE JUNHO DE DAS 11H. Apresente e justifique todos os cálculos. dy dt = y t t ; y(1) = 1.

Você já percebeu que os gráficos são cada vez. Relatórios de empresas Análises governamentais Relatórios de pesquisas Balanços financeiros

Emerson Marcos Furtado

Método dos Deslocamentos

As combinações. combinatória que envolviam o princípio multiplicativo e as permutações.

5 Estimação de Parâmetros utilizando o Algoritmo SAGE

Professores: Elson Rodrigues Marcelo Almeida Gabriel Carvalho Paulo Luiz Ramos

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 8. Pedro Barahona 2016 / 17

Informática para Ciências e Engenharias (B) 2016/17. Teórica 9

Computação e Linguagem de Programação

Calculando engrenagens cilíndricas

ENTECA 2003 IV ENCONTRO TECNOLÓGICO DA ENGENHARIA CIVIL E ARQUITETURA

Vamos entender a reação química com átomos e moléculas

8.5 Cálculo de indutância e densidade de energia magnética

Um dos conceitos mais utilizados em Matemática

Triângulos especiais

Num determinado jogo de fichas, os valores

ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE

A Análise de Causa Raiz pode ser uma das ferramentas mais importantes que sua organização pode ter nas mãos.

e rápido para estimar a potência. do rotor (i.e. seleccionar a sua área) para um

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Sumário SELECT + FROM

Uma lagrangeana para a corda vibrante

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 9. Pedro Barahona 2018 / 19

18 - Consultas em SQL

INTRODUÇÃO À ROBÓTICA MÓVEL

5 Tudo que sobe, desce

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Aplicação do Teorema de Pitágoras

5.1. Simulações para o Campo Magnético Gerado por um Ímã Permanente.

RAZÕES TRIGONOMÉTRICAS NO TRIÂNGULO RETÂNGULO

Operando com potências

Leandro Lima Rasmussen

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 6. Pedro Barahona 2016 / 17

17 - Consultas em SQL

Informática para Ciências e Engenharias (B) 2015/16. Teórica 8

Operando com potências

Calculando áreas. Após terem sido furadas, qual delas possui maior área?

Triângulos. O triângulo é uma figura geométrica muito. Para pensar. Nossa aula

Andson M. Balieiro, Kelvin L. Dias {amb4,

Calculando áreas. Após terem sido furadas, qual delas possui maior área?

ESTUDO DA EQUAÇÃO DE DEFASAGEM

Projeção ortográfica de sólidos geométricos

Na natureza nada se cria, nada se perde, tudo se transforma

O triângulo é uma figura geométrica muito. Você já sabe que o triângulo é uma figura geométrica de:

Informática para Ciências e Engenharias (B) 2015/16. Teórica 1

VIGAS HIPERESTÁTICAS - EQUAÇÃO DOS 3 MOMENTOS

RESUMO TÉCNICO DA CONCESSÃO DE BENEFÍCIO DO PCD

Informática para Ciências e Engenharias (B) 2016/17. Teórica 1

SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA

RESISTÊNCIA DOS MATERIAIS II FLEXÃO PARTE I

Num determinado jogo de fichas, os valores

Recordando operações

Plantas e mapas. Na Aula 17, aprendemos o conceito de semelhança

UM MODELO NÃO-LINEAR PARA ANÁLISE DA INTERAÇÃO SOLO-ESTRUTURA DE DUTOS SUBTERRÂNEOS POR MEIO DE ELEMENTOS DE PÓRTICO

UNIVERSIDADE EDUARDO MONDLANE Faculdade de Engenharia. Transmissão de calor. 3º ano

SEGUNDA LISTA DE EXERCÍCIOS Álgebra III MATEMÁTICA DCET UESC Humberto José Bortolossi. Grupos e Subgrupos H H

PME Mecânica dos Sólidos I 5 a Lista de Exercícios

O círculo e o número p

Camada de Transporte

Recordando operações

9 Proposta de dimensionamento de elementos de concreto armado à flexão simples em situação de incêndio

Edital 06/2016 Programa de Pós-Graduação em Engenharia Ambiental Processo Seletivo de Mestrado 2017 Instruções

CPV O Cursinho que Mais Aprova na GV

10. CARGAS ACIDENTAIS E MÓVEIS; LINHAS DE INFLUÊNCIA

A função f(x) = x é a função modular, cujo gráfico. A função g(x) = 1 - x é a função f(x) transformada.

XXVII Olimpíada Brasileira de Matemática GABARITO Segunda Fase

INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA. Guia do ensaio de laboratório para as disciplinas:

Prática X PÊNDULO SIMPLES

INTRODUÇÃO À ROBÓTICA MÓVEL

MODELAÇÃO DA PROPAGAÇÃO DE ONDAS SÍSMICAS ATRAVÉS DO MÉTODO DOS ELEMENTOS DE FRONTEIRA

2 O Problema do Fluxo de Custo Mínimo

Transcrição:

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2016 / 17

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de modeos conpnuos: Evoução de duas popuações na reação predador-presa. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 2

Queries com várias Tabeas Geramente as perguntas às base de dados envovem mais de uma tabea. Exempo de query mais compexa Quais os Ptuos dos fimes augados peo Artur Meirees? Neste caso, a informação reevante está organizada em várias tabeas Fimes Augueres Cientes 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 3

Exempo Tabea de Fimes Tabea de Fimes de uma base de dados DBvideos 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 4

Exempo Tabea de Cientes Tabea de Cientes de uma base de dados DBvideos 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 5

Exempo Tabea de Augueres A tabea Augueres tem duas chaves externas: FiIme_id, que a iga à tabea fimes Ciente_id, que a iga à tabea cientes Auguer_id é a sua chave primária 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 6

Queries com várias Tabeas Quais os Ptuos dos fimes augados peo Artur Meirees? 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 7

Queries com várias Tabeas Ligar 2 tabeas Podemos unir tabeas usando a condição WHERE da instrução SELECT O campo A da tabea1 deve ser igua ao campo B da tabea 2 Opcionamente a ista de respostas vem ordenada peo campo C SELECT ista-campos FROM tabea1, tabea2 WHERE tabea1.campoa = tabea2.campob ORDER BY campoc; 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 8

Queries com várias Tabeas Query: Quais os Ptuos dos fimes augados? As duas tabeas têm um campo Fime_id 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 9

Queries com várias Tabeas Ligar 2 tabeas Quais os Ptuos dos fimes augados? As duas tabeas têm um campo Fime_id db >> SELECT Fimes.Tituo...>> FROM Fimes, Augueres...>> WHERE Fimes.Fime_id = Augueres.Fime_id; Idade do Geo Eizabeth Regresso ao Futuro Aien db >> 17 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 10

Queries com várias Tabeas Ligar 2 tabeas Aterna(va: Usar um JOIN Se o nome do campo for igua nas duas tabeas basta indicar o campo, não é preciso indicar a tabea (e.g. id_tabea2) SELECT ista-campos FROM tabea1 JOIN tabea2 USING(id_tabea2) WHERE condição extra ORDER BY campoc; 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 11

Queries com várias Tabeas Query (2 tabeas): Quais os Ptuos dos fimes augados? As duas tabeas têm um campo Fime_id db >> SELECT Tituo...>> FROM Fimes JOIN Augueres...>> USING (Fime_id); Idade do Geo Eizabeth Regresso ao Futuro Aien db >> 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 12

Queries com várias Tabeas Query (2 tabeas): Quais os Ptuos e datas de auguer dos fimes augados? As duas tabeas têm um campo Fime_id db >> SELECT Tituo, Augueres.Data_auguer...>> FROM Fimes JOIN Augueres...>> USING (Fime_id); Idade do Geo 05/10/14 Eizabeth 05/12/14 Regresso ao Futuro 05/13/14 Aien 05/11/14 db >> 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 13

Queries com várias Tabeas Query (2 tabeas): Quais os Ptuos e datas de auguer dos fimes augados? Nota: Não havendo ambiguidade pode omi(r-se o nome da tabea. db >> SELECT Tituo, Augueres.Data_auguer...>> FROM Fimes JOIN Augueres...>> USING (Fime_id); Idade do Geo 05/10/14 Eizabeth 05/12/14 Regresso ao Futuro 05/13/14 Aien 05/11/14 db >> 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 14

Queries com várias Tabeas Query (3 tabeas): Quais os Ptuos dos fimes augados e que pessoas os augaram? 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 15

Queries com várias Tabeas Query (3 tabeas): Quais os Ptuos dos fimes augados e que pessoas os augaram? db >> SELECT Tituo, Nome...>> FROM Fimes, Augueres, Cientes...>> WHERE (Cientes.Ciente_id = Augueres.Ciente_id...>> AND Fimes.Fime_id = Augueres.Fime_id Idade do Geo Joana Fonseca Eizabeth Artur Meirees Regresso ao Futuro Marceo Rebeo de Sousa Aien Pedro Passos Coeho db >> 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 16

Queries com Agregações Por vezes pretendemos obter como resposta não o vaor dos campos mas sim uma determinada agregação desses campos. As agregações mais comuns são Contagens (quantos registos sa(sfazem a query? Somas (qua a soma/ produto dos campos seeccionados) Nota: Não há produtos que podem ser ob(dos com a conversão via ogaritmos: exp(sum(n(*))) Máximos e Mínimos (qua o maior/menor campo seeccionado) Em campos de texto a ordem é exicográfica 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 17

Queries com Agregações Query (contagem - agregação): Quantos fimes foram augados? db >> SELECT Count (Auguer_Id) FROM Fimes; 4 db >> Nota: Agumas variantes SQL COUNT(campo) : conta não NULL no campo SQL COUNT(*) : conta registos (inhas) SQL COUNT(DISTINCT campo) : conta diferentes 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 18

Queries com várias Tabeas Query (contagem + wid cards): Quantos cientes têm Sousa no nome? db >> SELECT Count(*) FROM Cientes...>> WHERE Nome LIKE "%Sousa% ; 2 db >> 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 19

Queries com várias Tabeas Query (outras agregações mínimo): Em quantas datas foram feitos augueres? db >> SELECT Count(Data_Auguer)FROM Augueres; 4 db >> SELECT Count(DISTINCT Data_Auguer)FROM Augueres; 3 db >> 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 20

Queries com várias Tabeas Query (outras agregações mínimo): Qua a data do primeiro auguer db >> SELECT Min(Data_Auguer) FROM Augueres; 2013/11/11 db >> Notar a importância da forma como se escrevem datas de forma a poder usar as funções max/min 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 21

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de modeos conpnuos: Evoução de duas popuações na reação predador-presa. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 22

Evoução de uma popuação com crescimento não restringido [1] Seja P o vaor de uma popuação (ou seja, o número de eementos da popuação). Seja r a taxa de crescimento per-capita da popuação. O crescimento não restringido da popuação é dado por: P t = rp O crescimento não restringido é exponencia, se r > 0. Soução de P(t) = c e r t sendo c = P inic A soução de outros probemas nem sempre é fáci 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 23

Evoução de uma popuação com crescimento não restringido [2] P inic = 100 e r = 0.1 P(t) P t = rp 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 24

Evoução de duas popuações na reação predador-presa [1] Sejam P e V os vaores das popuações de Predadores e de Presas (Ví(mas). Seja c V a taxa de crescimento per-capita das presas. Seja m V a taxa de mortaidade das presas em função do nº de predadores e do nº de presas. Seja c P a taxa de crescimento dos predadores em função da mortaidade das presas. Seja m P a taxa de mortaidade per-capita dos predadores. Os crescimentos das duas popuações são dados peas equações de Lotka- Voterra: V t = c VV m V VP P t = c Pm V VP m P P 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 25

Evoução de duas popuações na reação predador-presa [2] O número de presas V: aumenta naturamente, sem infuência dos predadores (c V V); diminui naturamente e devido aos predadores (m V V P). O número de predadores P: aumenta naturamente e devido às presas mortas (c P m V V P); diminui naturamente, sem infuência das presas (m P P). V t = c VV m V VP P t = c Pm V VP m P P 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 26

Evoução de duas popuações na reação predador-presa [3] Presas V inic = 100 c V = 0.1 m V = 0.01 Predadores P inic = 10 c P = 0.2 m P = 0.1 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 27

Cácuo do vaor de uma popuação Q [1] No tempo t, o vaor da popuação Q é Q(t) e dq/dt é f(t). Qua é o vaor de Q no tempo t + dt? Intui>vamente, f(t) indica a taxa de variação da função Q no ponto t (o decive da tangente). Para dt pequeno: Se f(t) > 0, Q(t+dt) > Q(t). Se f(t) = 0, Q(t+dt) = Q(t). Se f(t) < 0, Q(t+dt) < Q(t). Figura dos sides da discipina de Computação, eccionada peo Prof. Jorge Cruz, Departamento de Informá>ca da FCT/UNL. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 28

Cácuo do vaor de uma popuação Q [2] No ponto t, o vaor de Q é Q(t) e dq/dt é f(t). Qua é o vaor de Q no tempo t + dt (se dt for pequeno)? Peo método de Euer, no tempo t + dt, a variação de Q pode ser aproximada por dt f(t) (ou seja dq = dq/dt *dt) e portanto Q(t+h) Q(t) + h f(t). Conhece-se um majorante do erro come(do, que é tanto menor quanto menor for h. Pode-se programar a simuação da evoução de Q. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 29

Probema do Predador-Presa [1] Pretende-se simuar a evoução de duas popuações, uma de presas e uma de predadores, apicando o modeo de Lotka-Voterra. A simuação deve produzir dois gráficos: Um que mostra a evoução das popuações ao ongo do tempo. Outro que mostra a reação entre o número de presas e o número de predadores do sistema (sem referência ao tempo). 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 30

Probema do Predador-Presa [2] O primeiro gráfico mostra a evoução das popuações ao ongo do tempo. As abcissas representam o tempo e as ordenadas representam o número de eementos da respe(va popuação. Exempo para: V inic = 100 c V = 0.1 m V = 0.01 P inic = 10 c P = 0.2 m P = 0.1 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 31

Probema do Predador-Presa [3] O segundo gráfico (uma única inha) mostra a reação entre o número de presas e o número de predadores do sistema, sem referência ao tempo. Cada ponto indica um estado do sitema, representando a sua abcissa e ordenada, respec(vamente o nº de presas nesse estado; o nº de predadores nesse estado. Exempo para: V inic = 100 c V = 0.1 m V = 0.01 P inic = 10 c P = 0.2 m P = 0.1 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 32

Resoução Probema 1. Compreender totamente o probema. Feito 2. Caracterizar o probema. Probema: Predador-presa (modeo de Lotka-Voterra). Entrada: (vetor) 4 constantes das taxas do modeo, (inteiro) presinic, (inteiro) predinic, (inteiro) numero de passos de simuação do sistema, (rea) duração em tempo de cada passo Saída: nenhuma. São gerados 2 gráficos 3. Generaizar o probema (sempre que for possíve). Não vamos generaizar este probema. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 33

Resoução Agoritmo [1] 4. Desenhar o agoritmo para resover o probema. a) Decompor o probema em 3 sub-probemas i. Cacuar a evoução das duas popuações peo modeo de Lotka- Voterra. ii. Desenhar a evoução das duas popuações ao ongo do tempo (duas inhas independentes). iii. Desenhar os estados do sistema (uma única inha que reaciona as duas popuações). 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 34

Resoução Agoritmo [3] b) Iden(ficar, caracterizar e generaizar cada sub-probema. Probema: Cácuo das popuações peo modeo de Lotka-Voterra. Entrada: (vetor) 4 constantes, (inteiro) presinic, (inteiro) predinic, (inteiro) numpassos, (rea) passot Saída: (matriz com numpassos+1 inhas e 2 counas) popuacoes 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 35

Resoução Agoritmo [4] b) Iden(ficar, caracterizar e generaizar cada sub-probema. Probema: Desenho das presas e dos predadores com inhas independentes (ao ongo do tempo). Entrada: (matriz com numpassos + 1 inhas e 2 counas) popuacoes Saída: nenhuma. É gerado um gráfico de inhas 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 36

Resoução Agoritmo [5] b) Iden(ficar, caracterizar e generaizar cada sub-probema. Probema: Desenho das presas e dos predadores com uma única inha (que depende de ambos). Entrada: (matriz com numpassos + 1 inhas e 2 counas) popuacoes Saída: nenhuma. É gerado um gráfico de inha 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 37

Agoritmo Programa principa Resumindo: predadorpresa (consts, presinic, predinic, numpassos, passot) : popus = otkavoterra(consts, presinic, predinic, numpassos, passot), desenhapredpresind(popus), desenhapredpresdep(popus). 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 38

Resoução Programa [1] 5. Para cada sub-probema, desenhar o agoritmo para o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respe(vo agoritmo e testar o sub-programa. i. Cacuar a evoução das duas popuações peo modeo de Lotka- Voterra. ii. Desenhar a evoução das duas popuações ao ongo do tempo (duas inhas independentes). iii. Desenhar os estados do sistema (uma única inha que reaciona as duas popuações). 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 39

Resoução Programa [3] 5. Para cada sub-probema, desenhar o agoritmo para o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respe(vo agoritmo e testar o sub-programa. Probema: Cácuo das popuações peo modeo de Lotka-Voterra. Entrada: (vetor) 4 constantes, (inteiro) presinic, (inteiro) predinic, (inteiro) numpassos, (rea) passot Saída: (matriz com numpassos+1 inhas e 2 counas) popuacoes Impementar a função popus = otkavoterra( consts, presinic, predinic,... numpassos, passot ) 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 40

Agoritmo otkavoterra 1. Criar a matriz popus com numpassos+1 inhas e 2 counas. 2. Preencher a 1ª inha de popus com [presinic, predinic]. 3. Em cada um dos numpassos passos: a) Cacuar os novos vaores das popuações, com os vaores atuais, as constantes e o passot, segundo o modeo: V t = c V V m V VP P t = c P m V VP m P P b) Preencher a próxima inha de popus com os novos vaores das popuações. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 41 41

Função otkavoterra [1] A função recebe os parâmetros e iniciaiza o primeiro estado (inha) function popus = otkavoterra( consts, presinic, predinic,... numpassos, passot ) % documentação em anexo popus = zeros(numpassos + 1, 2); cv = consts(1); % Taxa de crescimento das presas (c V ). mv = consts(2); % Taxa de mortaidade das presas (m V ). mp = consts(3); % Taxa de mortaidade dos predadores (m P ). cp = consts(4); % Taxa de crescimento dos predadores (c P ). presas = presinic; predadores = predinic; popus(1, :) = [presas, predadores]; % Estado inicia. for i = 1 : numpassos... % preenche a inha i+1 da matriz popus end end 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 42

Função otkavoterra [2] Cada inha é cacuada em função da anterior, cacuando-se primeiro a derivada das popuações (presas e predadores) function popus = otkavoterra (...) end... for i = 1 : numpassos end mortepresporpred = mv * presas * predadores; derpresas = cv * presas mortepresporpred; derpredadores = cp * mortepresporpred mp * predadores; presas = presas + passot * derpresas; V t = c VV m V VP predadores = predadores + passot * derpredadores; popus(i + 1, :) = [presas, predadores]; P t = c Pm V VP m P P Q(t+h) Q(t) + dt dq/dt 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 43

Resoução Programa [3] 5. Para cada sub-probema, desenhar o agoritmo para o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respe(vo agoritmo e testar o sub-programa. Probema: Desenho das presas e dos predadores com inhas independentes (ao ongo do tempo). Entrada: (matriz com numpassos + 1 inhas e 2 counas) popuacoes Saída: nenhuma. É gerado um gráfico de inhas Impementar a função desenhapredpresind( popus ) 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 44

Função desenhapredpresind [1] A função desenha as duas inhas, uma de cada vez function desenhapredpresind( popuacoes ) % documentação em anexo end numlinhas = size(popuacoes, 1); tempo = [0 : numlinhas 1]; % Desenho das presas a azu (com egenda). pot(tempo, popuacoes(:, 1), 'b;presas;'); hod on; % Desenho dos predadores a vermeho (com egenda). pot(tempo, popuacoes(:, 2), 'r;predadores;'); xabe('tempo'); yabe('numero de eementos da popuacao'); hod off; 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 45

Resoução Programa [3] 5. Para cada sub-probema, desenhar o agoritmo para o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respe(vo agoritmo e testar o sub-programa. Probema: Desenho das presas e dos predadores com uma única inha (que depende de ambos). Entrada: (matriz com numpassos + 1 inhas e 2 counas) popuacoes Saída: nenhuma. É gerado um gráfico de inha Impementar a função desenhapredpresdep( popus ) 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 46

Função desenhapredpresind [1] Neste caso a função só desenha uma inhas function desenhapredpresdep( popuacoes ) % documentação em anexo end pot(popuacoes(:, 1), popuacoes(:, 2)); xabe('presas'); yabe('predadores'); 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 47

Resoução Programa [5] 7. Impementar o agoritmo que resove o probema e testar o programa pedido. Probema: Predador-presa (modeo de Lotka-Voterra). Entrada: (vetor) 4 constantes das taxas do modeo, (inteiro) presinic, (inteiro) predinic, (inteiro) numero de passos de simuação do sistema, (rea) duração em tempo de cada passo Saída: nenhuma. São gerados 2 gráficos Impementar a função predadorpresa(consts, presinic, predinic, numpassos, passot) 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 48

Agoritmo Programa principa A função cacua a matriz e desenha os dois gráficos, gerando duas figuras. function predadorpresa( consts, presinic, predinic,... end numpassos, passot ) popus = otkavoterra( consts, presinic, predinic,... numpassos, passot); figure(1); desenhapredpresind(popus); figure(2); desenhapredpresdep(popus); 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 49

Teste 1 consts = [0.1, 0.01, 0.1, 0.2]; predadorpresa(consts, 100, 10, 250000, 0.001) Figura 1 Figura 2 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 50

Teste 2 consts = [0.1, 0.01, 0.1, 0.2]; predadorpresa(consts, 200, 10, 250000, 0.001) Figura 1 Figura 2 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 51

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de modeos conpnuos: Evoução de duas popuações na reação predador-presa. 22 Maio 2017 10: SQL (várias tabeas); Simuação modeos conpnuos 52