Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 7.

Slides:



Advertisements
Apresentações semelhantes
Prática (VI): Bases biológicas e modelagem matemática
Advertisements

Elementos Acadêmicos e Profissionais em Ciência e Tecnologia
ROSANE PRIGOL DOS SANTOS
Faculdade de Ciências da Universidade de Lisboa
Algoritmos Estocásticos
Folha de Cálculo Cesar Analide Grupo de Inteligência Artificial Departamento de Informática Escola de Engenharia Universidade do Minho Braga, PORTUGAL.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 12.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 5.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 11.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 5.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 3.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 4.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 10.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 6.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 13.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 9.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 2.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 8.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 4.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 6.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 10.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 1.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 9.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 6.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 2.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 7.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 2.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 11.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 4.
Projeto de Final de Curso
7. INTEGRAÇÃO NUMÉRICA Parte 4
PLANO DE AULAS TURMA GRPB02.
PLANO DE AULAS TURMA GRPA02.
Iluminação e FotoRealismo
Acção de Formação Contínua em Matemática para Professores do 2º Ciclo
PRÁTICA DO ENSINO DE FÍSICA
Otimização Prof. Benedito C. Silva IRN UNIFEI
Relato da discussão sobre disciplinas de laboratório para a Licenciatura – 29/5/2013 Objetivos Gerais: Compreender a importância da experimentação na construção.
Aula prática 6 Vetores e Matrizes
Tiago Silva Miranda Lemos
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2014 Técnicas de Reamostragem Camilo Daleles Rennó
Vitor Bruno Engenharia Ambiental 2009
Objeto de Aprendizagem
ATIVIDADES DE MATEMÁTICA FINANCEIRA
Simulação numérica em Ambiente Manuel Costa
©Prof. Lineu MialaretAula /3Cálculo Numérico Cálculo Numérico – CN Prof. Lineu Mialaret Aula 20: Zeros de Funções Instituto Federal de Educação,
Agulha de buffon Agulha de buffon é um método para estimar o número π.
Folha de Cálculo Professor: Pedro Lopes Ano Lectivo 2010/2011.
A Educação Matemática como Campo Profissional e Científico
Folha de Cálculo Professor: Pedro Lopes Ano Lectivo 2010/2011.
LINGUAGEM DE PROGRAMAÇÃO I AULA - RAV1. Estudando para AV1 LINGUAGEM DE PROGRAMAÇÃO I Conteúdo Programático desta aula  Vários exemplos envolvendo o.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 03) Prof. Alessandro Bernardo.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 12.
Técnico/a de Eletrónica, Automação e Computadores Laboratório timer Osciladores Autor Nome do Aluno.
Métodos anteriores aos computadores Computadores
O Integral Estocástico de Ito – V – 1 Fórmula de Ito: Browniano geométrico.
Treinamento PHP Módulo 1 PHP Básico Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
EXCEL Aula 2.
O uso de animais em experimentação
MÉTODOS DE ENSINO EM CIÊNCIA BIOLOGICA.
Nome Data Matemática 1 Calcula
Nome Data Matemática 1 Calcula e escreve por extenso
Aula 01 – Matemática I - Agronomia Prof. Danilene Donin Berticelli
Modelação e Simulação em Medicina 1 Mestrado Integrado em Engenharia Biomédica e Biofísica 3º Ano / 2º Semestre
DETEÇÃO E ESTIMAÇÃO Aula 18: Simulação de Monte Carlo – Parte 2.
Projeto do CBPF Grid SSOLAR Bruno Lima Felipe da Matta Roberto Kishi Thagor Baiocco Tiago Olimpio
DETEÇÃO E ESTIMAÇÃO Aula X+1: Simulação de Monte Carlo.
Transcrição da apresentação:

Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 7

Ludwig Krippahl, Na aula de hoje... Métodos estocásticos (Monte Carlo) Calculo de áreas Integração de funções Simulação Contar unidades formadoras de colónias Trabalho 1 (dúvidas)

Ludwig Krippahl, Monte Carlo Nome cunhado pelo matemático Nicholas Constantine Metropolis( ) Conjunto de métodos baseados em números aleatórios.

Ludwig Krippahl, Calcular uma área x>1 y<x-1 y 2 +x 2 <4

Ludwig Krippahl, Calcular uma área x>1 y<x-1 y 2 +x 2 <4 Área?

Ludwig Krippahl, Algoritmo Pontos ao acaso no quadrado -2, 2. Área?

Ludwig Krippahl, Algoritmo Contamos os pontos dentro e fora. Área?

Ludwig Krippahl, Algoritmo Contamos os pontos dentro e fora. A fracção de pontos dentro da área será a proporção entre a área a medir e a área do quadrado. Quanto mais pontos melhor.

Ludwig Krippahl, Implementação Separar as tarefas: Dentro ou fora? Uma função que recebe x, y e devolve true ou false conforme x, y está dentro da área que queremos. Contar os pontos Outra função que recebe o nome da função que testa, o rectângulo que inclui a área a medir, e o número de pontos, e devolve a área pretendida.

Ludwig Krippahl, Implementação Função triangcirc testa se está dentro do triângulo e circulo function dentro=triangcirc(x,y) dentro= ( x^2+y^2 1 && y<x-1); endfunction

Ludwig Krippahl, Implementação Função areamc: devolve área recebe nome da função teste (string, para o feval) mínimos de x e y máximos de x e y (definem o rectângulo) número de pontos

Ludwig Krippahl,

Ludwig Krippahl,

Ludwig Krippahl,

Ludwig Krippahl,

Ludwig Krippahl,

Ludwig Krippahl, Implementação Função areamc: function a=areamc(testfn,minx,miny,maxx,maxy,pontos) valor a devolver com a área

Ludwig Krippahl, Implementação Função areamc: function a=areamc(testfn,minx,miny,maxx,maxy,pontos) string com o nome da função que testa cada ponto

Ludwig Krippahl, Implementação Função areamc: function a=areamc(testfn,minx,miny,maxx,maxy,pontos) rectângulo que contêm a área a determinar

Ludwig Krippahl, Implementação Função areamc: function a=areamc(testfn,minx,miny,maxx,maxy,pontos) número de pontos a testar

Ludwig Krippahl, Implementação Função areamc: área (variável a) começa a zero calcular a largura e altura do rectângulo ciclo para testar o número especificado de pontos. no final, a área é o número de pontos dentro a dividir pelo total de pontos e multiplicar pela área do rectângulo

Ludwig Krippahl, Implementação Função areamc: ciclo para testar o número especificado de pontos. criar coordenadas x,y aleatórias, de minx a maxx, e miny a maxy respectivamente. se feval(testefn, x, y) for verdadeiro então incrementar a variável a (para contar o número de pontos dentro da área)

Ludwig Krippahl, Implementação Para fazer os gráficos: Além da área devolver também duas matrizes com as coordenadas x,y dos pontos dentro e fora. function [a,dentros,foras]=areamc(testfn,minx,miny, maxx,maxy,pontos)

Ludwig Krippahl, Exemplo de utilização octave:13> areamc("triangcirc",-2,-2,2,2,1000) ans = Nota: chamando assim ignora os outros valores devolvidos, dentros e foras.

Ludwig Krippahl, Exemplo de utilização pontos=1000; [a,ds,fs]=areamc("triangcirc",-2,-2,2,2,pontos); hold off axis("equal") eixos iguais title([num2str(pontos)," pontos"]); plot(ds(:,1),ds(:,2),"og;;"); hold on; plot(fs(:,1),fs(:,2),"or;;"); or;; – circulo, red, ;; indica que não tem legenda

Ludwig Krippahl, Dicas Mais pontos, mais rigor:

Ludwig Krippahl, Dicas Mais pontos, mais rigor. O rectângulo deve estar o mais próximo possível da área que queremos. Em vez de (-2,-2) a (2,2), usar (1, -2) a (2,1)

Ludwig Krippahl, Dicas Em vez de (-2,-2) a (2,2) usar (1, -2) a (2,1) Área=1.7

Ludwig Krippahl, Integrar função

Ludwig Krippahl, Integrar função O integral de f(x)=exp(-x 3 ) não tem solução analítica. Mas o integral é a área:

Ludwig Krippahl, Integrar função Podemos usar a areamc, só precisamos de uma função nova: function dentro=expxcubo(x,y) dentro=y<=exp(-x^3); endfunction

Ludwig Krippahl, Integrar função Basta usar: areamc("expxcubo",0,0,2,1.2,5000); ans= Nota: neste caso só é devolvido o primeiro valor (a).

Ludwig Krippahl, Integrar função Para fazer o gráfico: pontos=5000; [a,ds,fs]=areamc("expxcubo",0,0,2,1.2,pontos); clearplot axis("equal") title([num2str(pontos)," pontos"]); plot(ds(:,1),ds(:,2),"og;;"); hold on; plot(fs(:,1),fs(:,2),"or;;");

Ludwig Krippahl,

Ludwig Krippahl, Contar microorganismos no ar Bomba aspira ar. Orifícios sobre placa. Contar colónias. Estimar UFCs.

Ludwig Krippahl, Contar microorganismos no ar Problema: Podem entrar vários esporos ou bactérias pelo mesmo orifício, resultando numa só colónia. Ar

Ludwig Krippahl, Contar microorganismos no ar Problema: Podem entrar vários esporos ou bactérias pelo mesmo orifício, resultando numa só colónia. Sabendo o número de colónias na placa, quantas UFCs no ar?

Ludwig Krippahl, Contar microorganismos no ar Dividir em 2 fases Simular o processo para calcular quantas colónias sabendo o número de UFCs. Usar a simulação com diferentes valores de UFCs até que obter o número de colónias observado.

Ludwig Krippahl, Simulação Temos N orifícios e X UFCs. Cada UFC pode entrar por qualquer dos N orifícios. O número de colónias será o número de orifícios diferentes por onde entraram UFCs

Ludwig Krippahl, Algoritmo Para cada UFC seleccionar um orifício aleatoriamente e marcar esse orifício. Contar o número de orifícios marcados. Repetir um número grande de vezes (50, 100,...) e tirar o valor médio.

Ludwig Krippahl, Implementação Função function cs=colonias(buracos,ufcs,tentativas) Devolve o número de colónias

Ludwig Krippahl, Implementação Função function cs=colonias(buracos,ufcs,tentativas) Número de orifícios

Ludwig Krippahl, Implementação Função function cs=colonias(buracos,ufcs,tentativas) Número de UFCs no ar

Ludwig Krippahl, Implementação Função function cs=colonias(buracos,ufcs,tentativas) Número de vezes que repete a simulação para calcular a média

Ludwig Krippahl, Implementação Dois ciclos for: número de tentativas e, para cada tentativa número de ufcs. A cada tentativa somar a um contador o número de orifícios marcados.

Ludwig Krippahl, Implementação Dois ciclos for: for a=1:4 for b=1:3 [a,b] endfor

Ludwig Krippahl, Implementação Dois ciclos for: for a=1:4 for b=1:3 [a,b] endfor Repetido 4 vezes

Ludwig Krippahl, Implementação Dois ciclos for: for a=1:4 for b=1:3 [a,b] endfor Repetido 3 vezes cada uma das 4 do ciclo de fora (12 vezes no total)

Ludwig Krippahl, Implementação Os orifícios podem ser representados como um vector de zeros, e marcados com 1. O total de orifícios marcados é o somatório do vector.

Ludwig Krippahl, Implementação Como seleccionar o orifício aleatoriamente. É preciso arredondar: round(x) inteiro mais próximo de x floor(x)maior inteiro menor que x ix=floor(rand*buracos)+1; (de 1 a buracos) Nota: o rand nunca devolve 1. Ver help.

Ludwig Krippahl, Implementação Exemplo: 10 orifícios e 3 UFCs, [ ] inicio, todos vazios [ ]3 [ ]5 [ ]3 2 Colónias

Ludwig Krippahl, Problema real: saber UFCs A função colonias dá-nos o número de colónias formadas na placa sabendo as UFCs no ar. O problema real é o inverso: as colónias na placa é o que se observa, e o que queremos saber é as UFCs do ar.

Ludwig Krippahl, Algoritmo O número de colónias será sempre igual ou inferior ao número de UFCs no ar. Começar por UFCs= colónias, e ir incrementando os UFCs até obter da função colonias o número certo de colónias.

Ludwig Krippahl, Implementação Função contaufcs function u=contaufcs(buracos,cs,tentativas) Recebe o número de orifícios, colónias observadas, e o número de tentativas para estimar as colónias para cada valor de u.

Ludwig Krippahl, Implementação Função contaufcs u = cs Enquanto o número estimado de colónias for inferior a cs, incrementar u e recalcular a estimativa Para estimar o número de colónias em função de u usar a função colonias, com o número de tentativas no argumento do contaufcs

Ludwig Krippahl, Ficha 7 Implementar: areamc colonias contaufcs

Ludwig Krippahl, Trabalho 1: Dúvidas

Ludwig Krippahl, Trabalho 1: Estrutura Ponto IsoeléctricoPolinómios Ler sequênciasLer polinómios Processar cada umaProcessar cada umCalcular o zero Função cargaFunção polinómio

Ludwig Krippahl, Trabalho 1: Cálculo das cargas Ponto IsoeléctricoPolinómios Função cargaFunção polinómio pHX Ler pKas.txtMultiplicar coefs. Consultar a tabela Calcular cadeias laterais Adicionar NH3 e COOH

Ludwig Krippahl, Trabalho 1: Cálculo da carga pH = pKa + log (A/AH) A + AH = 1 Resolvendo: x = 10^(pH-pKa) A= x/(1+x) AH= 1-A Carga média = A*CD + AH * (CD+1) (CD é a carga da forma desprotonada)

Ludwig Krippahl, Dúvidas