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

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

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 3

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

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

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

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?

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

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.

A linguagem matemática

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

A linguagem matemática

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

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

Triângulos especiais

Emerson Marcos Furtado

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

Método dos Deslocamentos

Professores: Elson Rodrigues Marcelo Almeida Gabriel Carvalho Paulo Luiz Ramos

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

Leandro Lima Rasmussen

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

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

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

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

Computação e Linguagem de Programação

Um dos conceitos mais utilizados em Matemática

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

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

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

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

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

Sumário SELECT + FROM

Calculando engrenagens cilíndricas

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

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

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

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

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

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

SQL. Agregações e agrupamentos. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

ESTUDO DA EQUAÇÃO DE DEFASAGEM

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

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

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

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

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

Uma lagrangeana para a corda vibrante

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

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

Aplicação do Teorema de Pitágoras

Recordando operações

INTRODUÇÃO À ROBÓTICA MÓVEL

Operando com potências

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

Recordando operações

RESISTÊNCIA DOS MATERIAIS II FLEXÃO PARTE I

Operando com potências

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

18 - Consultas em SQL

Você já participou da reforma ou da construção de um imóvel?

FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ

Num determinado jogo de fichas, os valores

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

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

5 Tudo que sobe, desce

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

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

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

Matemática A Semi-Extensivo V. 1 Exercícios

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

O círculo e o número p

17 - Consultas em SQL

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

MOVIMENTO DE ROTAÇÃO: O ROTOR RÍGIDO

CIRCUITOS MAGNÉTICOS LINEARES E NÃO LINEARES

ANÁLISE E PROJETO DE BANCO DE DADOS

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

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

RESOLUÇÃO DA PROVA DE MATEMÁTICA DO VESTIBULAR 2012 DA FUVEST-FASE 2. POR PROFA. MARIA ANTÔNIA C. GOUVEIA

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

SEMANAIS SEMESTRAIS TEÓRICAS PRÁTICAS CIT7244 Estrutura de Computadores 4 72

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia Mecânica

Exercício Exemplo de Análise Matricial de Estruturas

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

Resolução e Critérios de Correção U.C Fundamentos de Bases de Dados. 31 de janeiro de 2013 INSTRUÇÕES

Parábola. Sumário Parábola com vértice V = (x o, y o ) e reta focal. paralela ao eixo OX... 7

Planificação Anual. Departamento Expressões e Tecnologias

Prática X PÊNDULO SIMPLES

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

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

Transcrição:

Informática para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2018 / 19

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de modeos contínuos: Evoução de duas popuações na reação predador-presa. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 2

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de modeos contínuos: Evoução de duas popuações na reação predador-presa. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 3

Queries com várias Tabeas Geramente as perguntas às base de dados envovem mais de uma tabea. Exempo de query mais compexa Quais as Cadeiras feitas peo auno Pedro Ameida? Neste caso, a informaçãoreevante está organizada emvárias tabeas Aunos Cadeiras, e Notas (oauno fez uma Cadeira se tem Nota positiva) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 4

Exempo Tabea de Cadeiras Tabea de Cadeiras de uma base de dados DB_CLIP código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 5

Exempo Tabea de Aunos Tabea de Aunos de uma base de dados DB_CLIP número nome sexo idade 51083 Pedro Ameida m 19 51252 João Teixeira m 18 68059 João Manteiga m 21 70718 Dinis Lopes m 22 70766 Rafaea Cartaxo f 21 73854 Raque Moura f 19 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 6

Exempo Tabea de Notas A tabea Notas, da base de dados DB_CLIP tem duas chaves externas: Auno_id, que a iga à tabea Aunos Cadeira_id, que a iga à tabea Cadeiras registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013 Registo é a suachave primária 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 7

Queries com várias Tabeas Quais as Cadeiras frequentadas peo Pedro Ameida? registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013 número nome sexo idade 51083 Pedro Ameida m 19 51252 João Teixeira m 18 68059 João Manteiga m 21 70718 Dinis Lopes m 22 70766 Rafaea Cartaxo f 21 73854 Raque Moura f 19 código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 8

Queries com 2 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; 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 9

Queries com 2 Tabeas Query: Qua o nome e notas das cadeiras frequentadas peo auno nº 51083? As tabeas têm campos cadeira_id e código com o mesmo significado (o nº código da cadeira na base de dados) registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013 código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 10

Queries com 2 Tabeas Ligar 2 tabeas Qua o nome e notas das cadeiras frequentadas peo auno nº 51083? As tabeas têm campos cadeira_id e código com o mesmo significado (o nº código da cadeira na base de dados) código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013... bd >> SELECT Cadeiras.nome, Notas.nota...>> FROM Cadeiras, Notas...>> WHERE Cadeiras.código = Notas.cadeira_id...>> AND Notas.Auno = 51083; Materiais de Construção 12 Dinâmica dos Corpos Rígidos D bd >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 11

Queries com 2 Tabeas - JOIN Ligar 2 tabeas Aternativa: Usar um JOIN SELECT ista-campos FROM tabea1 JOIN tabea2 ON tabea1.campoa = tabea2.campob WHERE condição extra ORDER BY campoc; Se o nome do campo for igua nas duas tabeas basta indicar o campo, não é preciso indicar a tabea (e.g. campox) SELECT ista-campos FROM tabea1 JOIN tabea2 USING (campox) WHERE condição extra ORDER BY campoc; 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 12

Queries com 2 Tabeas - JOIN Query (2 tabeas): Qua o nome das cadeiras frequentadas peo auno nº 51083? As tabeas têm campos cadeira_id e código com o mesmo significado (o nº código da cadeira na base de dados) código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013 bd >> Cadeiras.nome, Notas.nota...>> FROM Cadeiras JOIN Notas...>> ON Cadeiras.código = Notas.cadeira_id...>> WHERE Notas.Auno = 51083; Materiais de Construção 12 Dinâmica dos Corpos Rígidos D bd >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 13

Queries com 3+ Tabeas Quais as Cadeiras frequentadas peo Pedro Ameida? registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013 número nome sexo idade 51083 Pedro Ameida m 19 51252 João Teixeira m 18 68059 João Manteiga m 21 70718 Dinis Lopes m 22 70766 Rafaea Cartaxo f 21 73854 Raque Moura f 19 código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 14

Queries com 3+ Tabeas Query (3 tabeas): Quais as Cadeiras e Notas frequentadas peo auno Pedro Ameida? bd >> SELECT Cadeiras.nome, Notas.nota...>> FROM Cadeiras, Notas, Aunos...>> WHERE Aunos.nome = Pedro Ameida" AND...>> Notas.auno_id = Aunos.número AND...>> Cadeiras.código = Notas.cadeira_id ; Dinâmica dos Corpos Rígidos D Materiais de Construção 12 bd >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 15

Queries com 3+ Tabeas - JOIN Query (3 tabeas): Os JOINs podem ser encadeados Quais as Cadeiras e Notas frequentadas peo auno Pedro Ameida? bd >> SELECT Cadeiras.nome, Notas.nota...>> FROM ((Cadeiras JOIN Notas, Aunos...>> ON Cadeiras.código = Notas.cadeira_id)...>> JOIN Aunos ON Notas.auno_id = Aunos.número)...>> WHERE Aunos.nome = "Pedro Ameida"; Dinâmica dos Corpos Rígidos D Materiais de Construção 12 bd >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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 satisfazem a query? Somas (qua a soma/ produto dos campos seeccionados) Nota: Não há produtos, mas podem ser obtidos com a conversão viaogaritmos: exp(sum(n(*))) Máximos e Mínimos (qua o maior/menor campo seeccionado) Em campos de texto a ordem é exicográfica 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 17

Queries com Agregações Query (Contagem): Quantos cadeiras estãona base de dados? código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC bd >> SELECT Count (código) FROM Cadeiras; 5 bd >> Nota: Agumas variantes SQL COUNT(campo) SQL COUNT(*) SQL COUNT(DISTINCT campo) : conta não NULL no campo : conta registos (inhas) : conta diferentes 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 18

Query (Contagem Diferentes): Queries com Agregações Quantos aunos têm notas ançadas? registo auno_id cadeira_id nota ano 904337 51083 1837 12 2015 796352 51083 10432 D 2014 540528 51252 5004 11 2014 496056 51252 10442 2 2013 486788 68059 5004 10 2015 919030 68059 10432 7 2012 348281 70718 11147 14 2013 526904 70718 10432 3 2014 989272 70766 5004 15 2014 381463 70766 10432 12 2013 743118 73854 11147 12 2013 db >> SELECT Count (auno_id) FROM Notas; 11 db >> SELECT Count (DISTINCT auno_id) FROM Notas; 6 db >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 19

Queries com Agregações Query (Mínimo): Qua o número do auno mais antigo? número nome sexo idade 51083 Pedro Ameida m 19 51252 João Teixeira m 18 68059 João Manteiga m 21 70718 Dinis Lopes m 22 70766 Rafaea Cartaxo f 21 73854 Raque Moura f 19 bd >> SELECT Min(número) FROM Aunos; 51083 bd >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 20

Queries com Wid Cards Query (contagem + wid cards): Quantas cadeiras têm Anáise no nome? código nome setor 10432 Dinâmica dos Corpos Rígidos EC 11147 Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT 10442 Anáise de Estruturas I EC bd >> SELECT Count(*) FROM Cadeiras...>> WHERE nome LIKE "%Anáise% ; 2 bd >> 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 21

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de modeos contínuos: Evoução de duas popuações na reação predador-presa. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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 crescimentoper-capita da popuação. O crescimentonã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 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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ítimas). 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 V V m V VP P t = c P m V VP m P P 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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). V t = c V V m V VP P t = c P m V VP m P 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 V V m V VP P t = c P m V VP m P P 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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 Passo Tempora = 0.001 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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? Intuitivamente, 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ática da FCT/UNL. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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 cometido, que é tanto menor quanto menor for h. Pode-se programar a simuação da evoução de Q. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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). 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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 respetiva 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 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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, respectivamente 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 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 32

Resoução Probema 1. Compreender totamente o probema. Feito 2. Caracterizar o probema. Probema: Predador-presa (modeo de Lotka-Voterra). Entrada: Saída: (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 nenhuma. São gerados 2 gráficos 3. Generaizar o probema (sempre que for possíve). Não vamos generaizar este probema. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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). 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 34

Resoução Agoritmo [3] b) Identificar, caracterizar e generaizar cada sub-probema. Probema: Cácuo das popuações peo modeo de Lotka-Voterra. Entrada: Saída: (vetor) 4 constantes, (inteiro) presinic, (inteiro) predinic, (inteiro) numpassos, (rea) passot (tupo) com duas istas, de comprimento numpassos+1, com o numero de (presas,predadores) em cada passo 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 35

Resoução Agoritmo [4] b) Identificar, caracterizar e generaizar cada sub-probema. Probema: Desenho das presas e dos predadores com inhas independentes (ao ongo do tempo). Entrada: Saída: (tupo) com duas istas, de comprimento numpassos+1, com o numero de (presas,predadores) em cada passo nenhuma. É gerado um gráfico com duas inhas 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 36

Resoução Agoritmo [5] b) Identificar, caracterizar e generaizar cada sub-probema. Probema: Desenho das presas e dos predadores com uma única inha (que depende de ambos). Entrada: Saída: (tupo) com duas istas, de comprimento numpassos+1, com o numero de (presas,predadores) em cada passo nenhuma. É gerado um gráfico de inha 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 37

Agoritmo Programa principa Resumindo: predadorpresa (consts, presinic, predinic, numpassos, passot) : (pres, pred) = otkavoterra(consts, presinic, predinic, numpassos, passot) desenhapredpresind((pres, pred)) desenhapredpresdep(popus) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 38

Resoução Programa [1] 5. Para cada sub-probema, desenhar o agoritmopara o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respetivo agoritmoe 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). 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 39

Resoução Programa [3] 5. Para cada sub-probema, desenhar o agoritmopara o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respetivo agoritmoe testar o sub-programa. Probema: Cácuo das popuações peo modeo de Lotka-Voterra. Entrada: Saída: (vetor) 4 constantes, (inteiro) presinic, (inteiro) predinic, (inteiro) numpassos, (rea) passot (tupo) com duas istas, de comprimento numpassos+1, com o numero de (presas,predadores) em cada passo Impementar a função otkavoterra(consts, presinic, predinic, numpassos, passot) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 40

Agoritmo otkavoterra 1. Criar as istas pres e pred com numpassos+1 eementos. 2. Preencher a 1ª posição das istas com presinic e 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 as posições seguintes da ista com os vaores atuaizados das popuações de presas e predadores. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 41

Função otkavoterra [1] A função recebe os parâmetros e iniciaiza o primeiro estado (inha) def otkavoterra(consts, presinic, predinic, numpassos, passot): """ Documentação em anexo""" pres = [0] * (numpassos + 1) pred = [0] * (numpassos + 1) cv = consts[0] mv = consts[1] cp = consts[2] mp = consts[3] pres[0] = presinic pred[0] = predinic for... return (pres,pred) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 42

Função otkavoterra [2] Os eementos das istas são cacuados em função do anteriores, cacuando-se primeiro a derivada das popuações (presas e predadores) def otkavoterra(consts, presinic, predinic, numpassos, passot): """ Documentação em anexo"""... pres[0] = presinic pred[0] = predinic for i in range(0,numpassos): V t = c VV m V VP Q(t+h) Q(t) + dt dq/dt mortepresporpred = mv * pres[i] * pred[i] derpres = cv * pres[i] mortepresporpred derpred = cp * mortepresporpred - mp * pred[i] pres[i+1] = pres[i] + passot * derpres pred[i+1] = pred[i] + passot * derpred return (pres,pred) P t = c Pm V VP m P P 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 43

Resoução Programa [3] 5. Para cada sub-probema, desenhar o agoritmopara o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respetivo agoritmoe testar o sub-programa. Probema: Desenho das presas e dos predadores com inhas independentes (ao ongo do tempo). Entrada: Saída: (ist) duas istas, de comprimento numpassos+1, com o numero de presas e predadores em cada passo nenhuma. É gerado um gráfico de inhas Impementar a função desenhapredpresind( pres, pred ) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 44

Função desenhapredpresind [1] A função desenha as duas inhas, uma de cada vez E acrescenta as egendas, títuo, etc.) def desenhapredpresind( pres, pred ): """ documentação em anexo "" numlinhas = en(pres) tempo = ist(range(0, numlinhas)) pt.pot(tempo, pres, 'b- ) pt.pot(tempo, pred, 'r- ) pt.tite('evoução de Predadores e Presas') pt.xabe('tempo ) pt.yabe('numero de Presas e Predadores') pt.egend(['presas', 'Predadores']) pt.savefig('pot2.png') pt.show() 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 45

Resoução Programa [3] 5. Para cada sub-probema, desenhar o agoritmopara o resover. 6. Para cada sub-probema (começando peos mais simpes), impementar o respetivo agoritmoe testar o sub-programa. Probema: Desenho das presas e dos predadores com uma única inha (que depende de ambos). Entrada: Saída: (ist) duas istas, de comprimento numpassos+1, com o numero de presas e predadores em cada passo nenhuma. É gerado um gráfico de inha Impementar a função desenhapredpresdep ( pres, pred ) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 46

Função desenhapredpresind [1] Neste caso a função só desenha uma inha Mais o títuo, egendas, def desenhapredpresdep( pres, pred ): """ documentação em anexo""" pt.pot(pres, pred, 'r-') pt.tite('predadores vs Presas') pt.xabe('presas') pt.yabe('predadores') pt.savefig('pot1.png') pt.show() 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 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: Saída: (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 nenhuma. São gerados 2 gráficos Impementar a função predadorpresa(consts, presinic, predinic, numpassos, passot) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 48

Agoritmo Programa principa A função cacua a matriz e desenha os dois gráficos, gerando duas figuras. def predadorpresa(consts, presinic, predinic, numpassos, passot) """Simua a evoução do número de presas e de predadores no modeo de Lotka-Voterra com as constantes do modeo definidas peo parâmetro consts. O numero de passos da simuação é numpassos e a unidade de tempo de cada passo é passot.... """ (pres,pred)=otkavoterra( consts, presinic, predinic, \ numpassos, passot ) desenhapredpresind(pres, pred) desenhapredpresdep(pres, pred) 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 49

Teste 1 consts = [0.1, 0.01, 0.1, 0.2]; predadorpresa(consts, 100, 10, 15000, 0.01) pot1.png pot2.png 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 50

Teste 2 consts = [0.1, 0.01, 0.3, 0.05]; predadores mais eficientes predadorpresa(consts, 100, 10, 150000, 0.01) pot1.png pot2.png 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 51

Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de modeos contínuos: Evoução de duas popuações na reação predador-presa. 20 Maio 2019 10: SQL (várias tabeas); Simuação modeos contínuos 52