Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 6. Pedro Barahona 2016 / 17
|
|
- William Filipe Beltrão
- 6 Há anos
- Visualizações:
Transcrição
1 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 6 Pedro Barahona 2016 / 17
2 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos em Matlab. Gráficos de pontos e de linhas. Gráficos de barras. Gráficos de imagens. Cálculo de áreas pelo método de Monte Carlo. Números pseudo-aleatórios. Simulação de Modelos Discretos Exemplo: Incêndio numa floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 2
3 Cons(tuição do ecrã Píxel(1,1) Píxel(1,C) Ecrã cons(tuído por uma matriz de píxeis (picture elements). Organizado em L linhas (por exemplo, 768). L linhas Cada linha tem C colunas (por exemplo, 1024). C colunas Píxel(L,1) Píxel(L,C) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 3
4 Imagem é composta por píxeis Image from: wikipedia, author: ed g2s Imagem ampliada para mostrar os píxeis 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 4
5 Píxeis formam figuras geométricas 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 5
6 Píxeis formam letras e números [1] 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 6
7 Píxeis formam letras e números [2] Uso de níveis intermédios para melhorar a imagem 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 7
8 Representação da cor [1] l Cor: cada píxel formado por 3 componentes primários. l RGB: l l l Red vermelho; Green verde; Blue azul. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 8
9 Representação da cor [2] Cor de cada píxel codificada, usualmente, em 3 bytes (24 bits); 1 byte por componente. (red, green, blue) Os três números representam a contribuição de cada uma das cores primárias. Exemplo: O terno (255, 255, 0) resulta num brilhante amarelo. R (255,255,0) G B Para testar cores: hjp:// 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 9
10 Representação da cor Exemplos Cor representada por 3 valores de 8 bits (True Color) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 10
11 Manipulação do ecrã (simplificado) CPU CPU escreve bits na memória de vídeo Píxel(1,1) Píxel(1,C) RAM vídeo (3 bytes cada píxel) Controlador do ecrã Eletrónica atualiza os píxeis do ecrã 50/60 vezes por segundo Píxel(L,1) Píxel(L, C) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 11 11
12 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos em Matlab. Gráficos de pontos e de linhas. Gráficos de barras. Gráficos de imagens. Cálculo de áreas pelo método de Monte Carlo. Números pseudo-aleatórios. Simulação de Modelos Discretos Exemplo: Incêndio numa floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 12
13 Gráficos de linhas 1. Preencher um vetor x com os valores das abcissas. 2. Preencher um vetor y com os valores das ordenadas. 3. Usar a função plot(x, y, cor) para traçar o gráfico, onde cor especifica a cor a usar (por exemplo, r, b, g, c, y, ) Pode não usar o 3º argumento, usando a cor por omissão (ver help plot). >> X = [0, 1, 2, 3, 4, 5]; >> Y = [0, 0.5, 1, 0.5, 0, 0.5]; >> plot(x, Y, -b ) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 13
14 Gráficos de Pontos 1. Preencher um vetor x com os valores das abcissas. 2. Preencher um vetor y com os valores das ordenadas. 3. Usar a função plot(x, y, sym) para traçar o gráfico, em que sym especifica o símbolo e a cor a usar (se não quiser a cor por omissão). Exemplos: +, *, o, +r, *g, etc. (ver help plot). Nota: O símbolo - corresponde à linha >> X = [0, 1, 2, 3, 4, 5]; >> Y = [0, 0.5, 1, 0.5, 0, 0.5]; >> plot(x, Y, * ) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 14
15 Gráficos de linhas / funções [1] >> X = 0: pi/4:2pi; >> Y = sin(x) >> plot(x,y) Nota: Relembrar que em Matlab os dados são tratados como matrizes. A função sin, chamada com uma matriz retorna o seno de cada elemento da matriz A função sin, chamada com um vetor retorna o seno de cada elemento do vetor. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 15
16 Gráficos de linhas / funções [1] >> X = 0: pi/16:2pi; >> Y = sin(x); >> plot(x,y) Para melhorar a qualidade do gráfico usar mais pontos. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 16
17 Gráficos de linhas / funções [1] Pode fazer-se o gráfico de várias funções se se usar a instrução hold on Pode acrescentar-se uma legenda ao gráfico com o comando legend('sin', 'cos ); >> X = 0: pi/16:2pi; >> Y = sin(x); >> Z = cos(x); >> plot(x,y, r ); >> hold on; >> plot(x,z, g ); >> legend('sin', 'cos ); >> hold off; % para outro gráfico 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 17
18 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos em Matlab. Gráficos de pontos e de linhas. Gráficos de barras. Gráficos de imagens. Cálculo de áreas pelo método de Monte Carlo. Números pseudo-aleatórios. Simulação de Modelos Discretos Exemplo: Incêndio numa floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 18
19 Gráficos de barras [1] 1. Preencher um vetor x com os valores de cada barra. 2. Usar a função bar(x) para traçar o gráfico. Por omissão as categorias são enumeradas no eixo dos x >> V = [10, 20, 15, 35, 5]; >> bar(v); 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 19
20 Gráficos de barras [2] Pode-se melhorar o gráfico Alterarando o nome das categorias; e /ou Adicionando o ytulo e os nomes dos eixos. >> V = [10, 20, 15, 35, 5]; >> bar(v); >> set(gca, 'XTickLabel', {, A, B, C, D, E }); >> title( Estatística ); >> ylabel( Reprovação ); >> xlabel( Disciplinas ); 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 20
21 Gráficos de barras [3] Pode-se traçar mais do que uma barra em cada categoria usando uma matriz, em que cada linha tem os pontos de cada categoria. Nota: Ver mais detalhes no manual ou com help bar V = [10, 90 ; 20, 80 ; 15, 85 ; 35, 65 ; 5, 95]; >> bar(v); >> set(gca, 'XTickLabel', {, A, B, C, D, E }); >> xlabel( Disciplinas ); 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 21
22 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos em Matlab. Gráficos de pontos e de linhas. Gráficos de barras. Gráficos de imagens. Cálculo de áreas pelo método de Monte Carlo. Números pseudo-aleatórios. Simulação de Modelos Discretos Exemplo: Incêndio numa floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 22
23 Gráficos de imagens [1] Para produzir um gráfico de uma imagem usar o seguinte procedimento: 1. Preencher uma matriz M com um valor de 1 a n para cada ponto. 2. Definir o mapa de cores usando a função colormap( [cor 1 ; ; cor n ] ) em que cor i = R G B, são 3 reais entre 0 e 1, definindo a cor para o valor i da matriz Exemplo: A matriz [ 0 1 0; 1 0 0; ] especifica que cor 1 = verde; cor 2 = vermelho; cor 3 = amarelo Para testar outras cores usar, por exemplo: hjp:// 3. Desenhar a imagem usando a função image(m). 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 23
24 Gráficos de imagens [2] >> V = [10, 20, 15, 35, 5]; >> imagem = [ ; ; ; ]; >> cores = [0 1 0 ; ; 1 1 0]; % [1-green; 2-red; 3-yellow] >> colormap(cores); >> image(imagem); [ ; ; ; ]; 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 24
25 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos em Matlab. Gráficos de pontos e de linhas. Gráficos de barras. Gráficos de imagens. Cálculo de áreas pelo método de Monte Carlo. Números pseudo-aleatórios. Simulação de Modelos Discretos Exemplo: Incêndio numa floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 25
26 Métodos de Monte Carlo Métodos de Monte Carlo: Métodos usados para conceber algoritmos que recorrem a números (pseudo-)aleatórios. Números pseudo-aleatórios: Uma sequência de números pseudo-aleatórios tem uma aparência aleatória (aparentemente, sem padrão), mas é previsível e reproduyvel. Algumas aplicações: Simulações de fenómenos zsicos, químicos, biológicos, bioquímicos, etc., jogos, cálculo de áreas. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 26
27 Monte Carlo aplicações Algumas aplicações do cálculo de áreas: Es(mar o valor de um número irracional (p.e. π). Es(mar a área de uma região definida por várias funções ou por funções com muitas variáveis. Es(mar o valor de um integral. Exemplo: 1.5 R 1 e x 3 0 dx Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 27
28 Monte Carlo Cálculo de áreas Método para calcular a área A R da região R: 1. Definir uma região S tal que: a) S contém R; b) a área de S (A S ) é conhecida (e fácil de calcular). 2. Gerar n pontos pseudo-aleatórios de S e contar o número k de pontos que quantos pertencem a R. 3. O valor es(mado para A R é proporcional ao número de pontos que pertemcem a R, pelo que se pode es(mar: A R = ( k / n ) A S. Nota: Os resultados são melhores quando: S é uma região contendo R, tão estritamente quanto possível; e n é grande. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 28
29 Números pseudo-aleatórios A função rand retorna números pseudo-aleatórios uniformemente distribuídos no intervalo ]0, 1[. Para obter um número entre: ]0, 1[ rand ou rand( ) ]0, b[ (com 0 < b) b * rand ]a, b[ (com a < b) a + (b a) * rand Para obter uma matriz de L C com elementos entre: ]0, 1[ rand(l, C) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 29
30 Problema da fa(a de um círculo Faça um programa que, dado o raio de um círculo e duas abcissas, es0ma a área da respe(va fa(a ver(cal do círculo e representa graficamente a es(ma(va. Sugestão: use o método de Monte Carlo para efetuar a es(ma(va. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 30
31 Resolução Problema [1] 1. Compreender totalmente o problema. Pretende-se es(mar a área da fa(a ver(cal do círculo usando o método de Monte Carlo. Pretende-se uma representação gráfica da es(ma(va. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 31
32 Monte Carlo Es(ma(va da área Algoritmo: A região S é [0, 2r] [0, 2r]. A área de S é (2r) 2. Geram-se n pontos uniformemente distribuídos em S. Contam-se os k pontos pertencendo a R. O valor es(mado para a área de R é (k / n) (2r) 2. Para usar este algoritmo, como se contam os pontos? Geram-se n pontos x, y tais que x: x A e x B y: y 0 e y 2r Conta-se o ponto se (x-r) 2 +(y-r) 2 r 2 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 32 2r r 0 0 S A R r B 2r
33 Resolução Problema [2] 2. Caracterizar o problema. Problema: Es(ma(va da área de uma fa(a ver(cal de um círculo com representação gráfica. Entrada: (real) raio, (real) xesq, (real) xdir, (inteiro) número de pontos a gerar. Saída: (real) es(ma(va da área da fa(a do círculo eé gerado um gráfico. 3. Generalizar o problema (sempre que for possível). Não vamos generalizar este problema. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 33
34 Representação gráfica 2r r S R 0 0 A r B 2r 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 34
35 Resolução Algoritmo [1] 4. Desenhar o algoritmo para resolver o problema. a) Conceber o algoritmo, decompondo o problema em sub-problemas. Como es(mar a área e representar a es(ma(va? Aplicar o método de Monte Carlo, «computando uma es(ma(va da área; e «devolvendo os pontos gerados que ficam dentro e fora da fa(a. Desenhar o gráfico com os pontos gerados dentro e fora da fa(a. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 35
36 Resolução Algoritmo [2] b) Iden(ficar, caracterizar e generalizar cada sub-problema. Problema: Es(ma(va da área de uma fa(a ver(cal de um círculo. Entrada: (real) raio, (real) xesq, (real) xdir, (inteiro) número de pontos a gerar. Saída: (real) es(ma(va da área da fa(a do círculo, (matriz) pontos gerados dentro da fa(a, (matriz) pontos gerados fora da fa(a. Nota: Temos aqui uma situação em que a função não retorna um só valor (escalar, vetor ou matriz) mas sim um conjunto de valores de (pos diferentes. No caso, um número real e duas matrizes. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 36
37 Resolução Algoritmo [3] b) Iden(ficar, caracterizar e generalizar cada sub-problema. Problema: Desenho de dois conjuntos de pontos. Entrada: (matriz) pontos do conjunto 1, (matriz) pontos do conjunto 2. Saída: nenhuma. É gerado um gráfico. Nota: Temos aqui uma situação em que a função não retorna nenhum valor. Neste caso a assinatura da função não contem nenhuma variável de retorno. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 37
38 Valores retornados por funções Em Matlab, as assinaturas das funções permitem especificar funções que retornam um número variado de resultados : function res = nomefunção( parâmetros ) Retorno de um valor de qualquer (po (escalar, vetor, matriz, etc.) function [r 1, r 2,..., r n ] = nomefunção( parâmetros ) Retorno dos valores r 1, r 2,..., r n, possivelmente de (pos diferentes. Nota: [r 1, r 2,..., r n ] não é um vetor; é uma lista de valores. function nomefunção( parâmetros ) Retorno de nenhum valor. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 38
39 Resolução Algoritmo [4] c) Conceber o algoritmo, assumindo que os sub-problemas estão resolvidos. Es(ma(va da área com representação gráfica (raio, xesq, xdir, numpts): Sub-problema 1: [area, ptsdentro, ptsfora] ç areafa(acirc(raio, xesq, xdir, numpts) Sub-problema 2: desenha2conjpts(ptsdentro, ptsfora) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 39
40 Resolução Algoritmo [5] 5. Para cada sub-problema, desenhar o algoritmo para o resolver. Sub-problema 2: desenha2conjpts( conj1, conj2 ): desenha os pontos na matriz conj1 na mesma figura, desenha os pontos na matriz conj2, 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 40
41 Resolução Algoritmo [6] 5. Para cada sub-problema, desenhar o algoritmo para o resolver. Sub-problema 1: areafa(acirc( raio, xesq, xdir, numpts ): numptsdentro ç 0 ; ptsdentro ç [] ; ptsfora ç []; Para i de 1 a numpts Gerar ponto aleatório (x,y) em [0, 2*raio] [0, 2*raio] Se (x,y) entre as retas e dentro do círculo então senão retornar: numptsdentro ç numptsdentro + 1 Acrescentar (x,y) à matriz ptsdentro Acrescentar (x,y) à matriz ptsfora numptsdentro / numpts * (2*raio)^2, ptsdentro, ptsfora 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 41
42 Resolução Programa [1] 6. Para cada sub-problema (começando pelos mais simples), implementar o respec(vo algoritmo e testar o sub-programa. Problema: Desenho de dois conjuntos de pontos. Entrada: (matriz) pontos do conjunto 1, (matriz) pontos do conjunto 2. Saída: nenhuma. É gerado um gráfico. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 42
43 Função desenha2conjpts O 2º sub-problema (mais simples) usa os comandos e funções gráficas vistas anteriormente. function desenha2conjpts(conj1, conj2)! % desenha2conjpts(conj1, conj2)! % Desenha dois conjuntos de pontos com cores diferentes. % As matrizes conj1 e conj2 tem: % na primeira coluna, as abcissas dos pontos; % na segunda coluna, as ordenadas dos pontos.! end! clf; % apaga graficos das janelas abertas! plot(conj1(:,1),conj1(:,2),.r )! hold on;! plot(conj2(:, 1), conj2(:, 2),.b');! 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 43
44 Resolução Programa [2] 6. Para cada sub-problema (começando pelos mais simples), implementar o respec(vo algoritmo e testar o sub-programa. Problema: Es(ma(va da área de uma fa(a ver(cal de um círculo. Entrada: (real) raio, (real) xesq, (real) xdir, (inteiro) número de pontos a gerar. Saída: (real) es(ma(va da área da fa(a do círculo, (matriz) pontos gerados dentro da fa(a, (matriz) pontos gerados fora da fa(a. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 44
45 Função areafa(acirc [1] Para o 1º sub-problema (mais complexo ) começamos pela sua documentação. function [area, ptsdentro, ptsfora] =! areafatiacirc(raio, xesq, xdir, numpts)! % [area, ptsdentro, ptsfora] =! % areafatiacirc(raio, xesq, xdir, numpts)! % Desenha dois conjuntos de pontos com cores diferentes.! % Estima a area de uma fatia vertical de um circulo (com o raio dado)! % usando o metodo de Monte Carlo.! % O circulo tem centro no ponto (raio, raio).! % A fatia e' definida pelos pontos do circulo cujas abcissas! % estao entre xesq e xdir (com xesq < xdir).! % O inteiro numpts e o numero de pontos gerados.! % As matrizes ptsdentro e ptsfora, com duas colunas,! % tem os pontos gerados que ficam dentro e fora da fatia.! end!...! 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 45
46 Função areafa(acirc [2] E agora o código (deixando para o próximo slide o ciclo FOR) function [area, ptsdentro, ptsfora] =...! areafatiacirc(raio, xesq, xdir, numpts)! %...! end! numptsdentro = 0;! ptsdentro = [ ];! ptsfora = [ ];! areafora = (2 * raio) * (xdir xesq);! for i = 1 : numpts % conta os pontos e atualiza as matrizes! end!...! area = (numptsdentro / numpts) * areafora;! 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 46
47 Função areafa(acirc [3] E agora o ciclo FOR function [area, ptsdentro, ptsfora] = areafatiacirc(raio, xesq, xdir, numpts)! end... for i = 1 : numpts end... x = xesq + (xdir - xesq) * rand; y = 2 * raio * rand; % conta os pontos e atualiza as matrizes if (x raio)^2 + (y raio)^2 <= raio^2 else end numptsdentro = numptsdentro + 1; ptsdentro = [ptsdentro ; x, y]; ptsfora = [ptsfora ; x, y]; 2r % conta r 0 xesq R S xdir 2r 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 47
48 Resolução Programa [3] 7. Implementar o algoritmo que resolve o problema e testar o programa pedido. Problema: Es(ma(va da área de uma fa(a ver(cal de um círculo com representação gráfica. Entrada: (real) raio, (real) xesq, (real) xdir, (inteiro) número de pontos a gerar. Saída: (real) es(ma(va da área da fa(a do círculo. É gerado um gráfico. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 48
49 Função es(maedesenhafa(acirc E agora a função principal, que chama as duas funções anteriores. function area = estimaedesenhafatiacirc(raio, xesq, xdir, numpts) % area = estimaedesenhafatiacirc(raio, xesq, xdir, numpts) % Estima a area de uma fatia vertical de um circulo % (com o raio dado), usando o metodo de Monte Carlo, e % apresenta a estimativa graficamente. % O centro do circulo e' (raio, raio). A fatia e' definida pelos % pontos do circulo cujas abcissas estao entre xesq e xdir % (com xesq < xdir). % O inteiro numpts e o numero de pontos gerados. [area, ptsdentro, ptsfora] = areafatiacirc(raio,... xesq, xdir, numpts); %... permite a mudança de linha desenha2conjpts(ptsdentro, ptsfora); end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 49
50 Alguns Testes [1] >> estimaedesenhafatiacirc(3, 2, 5, 5000) ans = Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 50
51 Alguns Testes [1] >> estimaedesenhafatiacirc(3, 2, 5, 5000) ans = Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 51
52 Alguns Testes [1] >> estimaedesenhafatiacirc(3, 2, 5, ) ans = Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 52
53 Figura com (3, 0, 6, ) >> pi9 = estimaedesenhafatiacirc(3, 0, 6, ) pi9 = >> pi9/ 9 ans = Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 53
54 Problema da es(ma(va de pi Faça um programa que es0me o valor de π (pi) Sugestão: use o método de Monte Carlo para efetuar a es(ma(va da área de um círculo: π = A/r 2 para r=1 temos: π = A 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 54
55 Resolução Problema [1] 1. Compreender totalmente o problema. Pretende-se es(mar o valor de π (pi) Sugestão: recorre-se à es(ma(va da área de um círculo de raio 1 pelo método de Monte Carlo. 2. Caracterizar o problema. Problema: Es(ma(va de π. Entrada: (inteiro) número de pontos a gerar. Saída: (real) es(ma(va de π. 2. Generalizar o problema (sempre que for possível). Não é possível generalizar este problema. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 55
56 Resolução Problema[2] 4. Desenhar o algoritmo para resolver o problema. a) Conceber o algoritmo, decompondo o problema em sub-problemas. Como es(mar o valor da área do círculo? Já resolvido anteriormente, por exemplo: [area, ptsdentro, ptsfora] = areafatiacirc(1, 0, 1, numpts) Es(ma(va de PI = area 5. Para cada sub-problema, desenhar o algoritmo para o resolver. Já resolvido 6. Para cada sub-problema, implementar o respec(vo algoritmo... Já implementado 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 56
57 Função es(mapi A função é basicamente uma chamada à função que calcula a área de um círculo de raio 1, centrado no ponto (1,1), entre as abcissas 0 e 2. function estpi = estimapi(numpts) % area = estimapi(numpts) % % Calcula uma estimativa de pi recorrendo ao metodo % de Monte Carlo. O inteiro numpts e o numero de pontos % gerados aleatoriamente para estimar a area do circulo [area, ptsdentro, ptsfora] = areafatiacirc(1,0,2,numpts); estpi = area; end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 57
58 Função es(mapi Como visto anteriormente, a qualidade da es(ma(va do valor de π depende do número de pontos u(lizado Valores es(mados com vários valores de numpts: 10 1, , 10 2, , 10 3, , 10 4,5 10 4, 10 5, , 10 6, , Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 58
59 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos em Matlab. Gráficos de pontos e de linhas. Gráficos de barras. Gráficos de imagens. Cálculo de áreas pelo método de Monte Carlo. Números pseudo-aleatórios. Simulação de Modelos Discretos Exemplo: Incêndio numa floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 59
60 Problema Incêndio em Floresta [1] Pretende-se simular um incêndio numa floresta, segundo o modelo de simulação a seguir apresentado: A floresta é composta por um conjunto de árvores dispostas numa grelha retangular. Em cada instante, cada árvore está num de três estados: Viva, representado por 1 (e desenhado a verde); A arder, representado por 2 (e desenhado a vermelho); Morta, representado por 3 (e desenhado a preto). 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 60
61 Problema Incêndio em Floresta [2] Simula-se o incêndio em passos discretos, onde as árvores transitam de estado simultaneamente a cada passo. O novo estado de cada árvore depende do seu estado atual, do estado das quatro árvores vizinhas (nas direções Norte, Sul, Este e Oeste) e de uma probabilidade... As árvores da fronteira (da primeira / úl(ma linha / coluna da grelha retangular) não mudam de estado (só para facilitar a solução). 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 61
62 Problema Incêndio em Floresta [3] Regras de propagação do incêndio (para o estado seguinte): 1. Se uma árvore está viva e: a) alguma árvore vizinha está a arder, a árvore fica a arder; b) nenhuma árvore vizinha está a arder, então: a árvore fica a arder com probabilidade pbbarder (ex. devido a faúlhas); a árvore con(nua viva com probabilidade Se a árvore está a arder, morre. 3. Se a árvore está morta, permanece morta (já não volta a mudar de estado). Objec0vo: O programa deve desenhar o estado da floresta no estado inicial e no fim de cada um dos passos. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 62
63 Resolução Problema [1] 1. Compreender totalmente o problema. 2. Caracterizar o problema. Problema: Incêndio em floresta.. Entrada: (matriz) estadoinicial, (real) pbbarder, (inteiro) numpassos. Saída: nenhuma. São gerados numpassos + 1 gráficos. 3. Generalizar o problema (sempre que for possível). Não vamos generalizar mais este problema. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 63
64 Resolução Algoritmo [1] 1. Desenhar o estado inicial da floresta. desenhafloresta(estado) 2. Em cada um dos numpassos passos: a) Calcular o novo estado da floresta. novoestado = estadofloresta(estado, pbbarder) b) Desenhar o novo estado da floresta. desenhafloresta(novoestado) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 64
65 Resolução Problema [2] b) Iden(ficar, caracterizar e generalizar cada sub-problema. Problema: Desenho da floresta. Entrada: (matriz) estado da floresta. Saída: nenhuma. É gerado um gráfico. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 65
66 Resolução Problema [3] b) Iden(ficar, caracterizar e generalizar cada sub-problema. Problema: Cálculo do próximo estado da floresta. Entrada: (matriz) estado atual, (real) pbbarder. Saída: (matriz) novoestado da floresta. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 66
67 Resolução Algoritmo [2] novoestado = estadofloresta( estado, pbbarder ) 1. Criar a matriz novoestado. Como o tamanho de novoestado é o tamanho de estado e as árvores da fronteira não mudam de estado: novoestado ç estado. 2. Para todas as árvores do interior de novoestado: a) Calcular o novo estado de cada árvore: Criamos a função estadoarvore que, dado o estado da árvore (arv), o estado das 4 vizinhas (v1, v2, v3, v4) e a probabilidade de arder, calcula o novo estado: res = estadoarvore(arv, v1, v2, v3, v4, pbbarder) b) Guardar o novo estado da árvore na matriz novoestado. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 67
68 Resolução Problema [4] b) Iden(ficar, caracterizar e generalizar cada sub-problema. Problema: Cálculo do próximo estado da árvore. Entrada: (inteiro) arvore, (inteiro) viz1, (inteiro) viz2, (inteiro) viz3, (inteiro) viz4, (real) pbbarder. Saída: (inteiro) novoestado da árvore. 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 68
69 Resolução Algoritmo [3] novoestado = estadoarvore( arv, v1, v2, v3, v4, pbbarder) 1. Testar em que estado está a árvore (arv pode valer 1, 2 ou 3) e aplicar as regras de transição desse estado. Problema: Como é que se programa a seguinte funcionalidade? As instruçõesa são executadas com probabilidade p e as instruçõesb são executadas com probabilidade 1 p. Solução: a) Gera-se um número pseudo-aleatório entre 0 e 1. b) Se esse número for inferior ou igual a p, executam-se as instruçõesa senão, executam-se as instruçõesb 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 69
70 Resolução Programa [1] 6. Para cada sub-problema (começando pelos mais simples), implementar o respec(vo algoritmo e testar o sub-programa. Sub-problemas a implementar: func(on desenhafloresta( floresta ) func(on novoestado = estadoarvore(arv, viz1, viz2, viz3, viz4, pbbarder) func(on novoestado = estadofloresta( estado, pbbarder ) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 70
71 Função desenhafloresta 6. Para cada sub-problema (começando pelos mais simples), implementar o respe(vo algoritmo e testar o sub-programa. Problema: Desenho da floresta. Entrada: (matriz) estado da floresta. Saída: nenhuma. É gerado um gráfico. function desenhafloresta(floresta) % desenhafloresta(floresta) % Produz um grafico retangular com a representacao da % matriz floresta. % Cada celula da grelha corresponde a um elemento da % matriz. A cor da celula e : % (0 1 0) verde: se o elemento e 1 (a arvore esta viva); % (1 0 0) vermelha se o elemento e 2 (a arvore a arder); % ) preta se o elemento e 3 (a arvore esta morta). mapacores = [ 0 1 0; 1 0 0; ]; colormap(mapacores); image(floresta); end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 71
72 Função estadoarvore [1] 6. Para cada sub-problema (começando pelos mais simples), implementar o respec(vo algoritmo e testar o sub-programa. Problema: Cálculo do próximo estado da árvore. Entrada: (inteiro) arvore, (inteiro) viz1, (inteiro) viz2, (inteiro) viz3, (inteiro) viz4, (real) pbbarder. Saída: (inteiro) novoestado da árvore. Documentação da função function novoestado = estadoarvore(arv,viz1,viz2,viz3,viz4,pbbarder) % novoestado = estadoarvore(arv, viz1, viz2, viz3, viz4, pbbarder) % Calcula o novo estado da arvore com base: % no valor arv, que tem o estado atual da arvore % (1 significa viva, 2 a arder e 3 morta ); % nos valores viz1, viz2, viz3 e viz4, que sao os estados das % arvores vizinhas; % pbbarder, que e a probabilidade de uma arvore viva... end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 72
73 Função estadoarvore [2] Problema: Cálculo do próximo estado da árvore. Documentação da função (cont.) function novoestado = estadoarvore(arv,viz1,viz2,viz3,viz4,pbbarder) %... % Se a arvore esta' viva e: % alguma arvore vizinha esta' a arder, a arvore fica a arder; % nenhuma arvore vizinha esta' a arder, % a probabilidade da arvore ficar a arder e' pbbarder e % a probabilidade da arvore continuar viva e' 1 pbbarder. % Se a arvore esta' a arder, morre. % Se a arvore esta' morta, mantem-se nesse estado.... end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 73
74 Função estadoarvore [3] Problema: Cálculo do próximo estado da árvore. Caso em que a árvore não está viva function novoestado = estadoarvore(arv,viz1,viz2,viz3,viz4,pbbarder) %... if arv == 1 % se a arvore estiver viva... else % A arvore esta' a arder ou está morta. % Em qualquer caso, fica morta. novoestado = 3; end end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 74
75 Números pseudo-aleatórios Para o caso em que a árvore está viva relembrar A função rand retorna números pseudo-aleatórios uniformemente distribuídos no intervalo ]0, 1[. Para obter um número entre: ]0, 1[ rand ou rand( ) ]0, b[ (com 0 < b) b * rand ]a, b[ (com a < b) a + (b a) * rand Para obter uma matriz de L C com elementos entre: ]0, 1[ rand(l, C) 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 75
76 Função estadoarvore [4] Problema: Cálculo do próximo estado da árvore. Caso em que a árvore está viva function novoestado = estadoarvore(arv,viz1,viz2,viz3,viz4,pbbarder)... if arv == 1 % se a arvore estiver viva if viz1 == 2 viz2 == 2 viz3 == 2 viz4 == 2 % Com alguma arvore vizinha a arder, a arvore fica a arder. novoestado = 2; elseif rand <= pbbarder % A arvore fica a arder com probabilidade pbbarder. novoestado = 2; else % A arvore fica viva com probabilidade 1 pbbarder. novoestado = 1; end Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 76
77 Função estadofloresta [1] 6. Para cada sub-problema (começando pelos mais simples), implementar o respe(vo algoritmo e testar o sub-programa. Problema: Cálculo do próximo estado da floresta. Entrada: (matriz) estado, (real) pbbarder. Saída: (matriz) novoestado da floresta. Documentação da função (cont.) function novoestado = estadofloresta( estado, pbbarder) % novoestado = estadofloresta(estado, pbbarder) % Calcula o novo estado da floresta com base: % na matriz estado, que tem o estado atual da floresta; % no valor pbbarder, que e a probabilidade de uma arvore % viva sem vizinhas a arder ficar a arder. % As arvores da fronteira (da primeira/ultima linha/coluna da % matriz estado) nao mudam de estado.... end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 77
78 Função estadofloresta [2] E o código para obter o novo estado Tendo em atenção que a fronteira não é alterada function novoestado = estadofloresta( estado, pbbarder) %... numlinhas = size(estado, 1); numcolunas = size(estado, 2); novoestado = estado; % A fronteira nao e' alterada. for i = 2 : numlinhas 1 for j = 2 : numcolunas 1 % Calcula o novo estado da arvore em (i, j)... end end end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 78
79 Função estadofloresta [3] E o código para obter o novo estado Actualizando o estado de cada árvore do interior function novoestado = estadofloresta( estado, pbbarder) %... for i = 2 : numlinhas 1 for j = 2 : numcolunas 1 % Calcula o novo estado da arvore em (i, j) aarvore = estado(i, j); vizinha1 = estado(i 1, j); vizinha2 = estado(i+1, j); vizinha3 = estado(i, j 1); vizinha4 = estado(i, j+1);... significa : continua na próxima linha novoestado(i,j) = estadoarvore(aarvore, vizinha1, vizinha2, vizinha3, vizinha4, pbbarder); end end end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 79
80 Função incendiofloresta [1] 7. Implementar o algoritmo que resolve o problema e testar o programa pedido. Problema: Incêndio em floresta. Entrada: (matriz) estadoinicial, (real) pbbarder, (inteiro) numpassos. Saída: nenhuma. São gerados numpassos + 1 gráficos. function incendiofloresta( estadoinicial, pbbarder, numpassos ) % % incendiofloresta(estadoinicial, pbbarder, numpassos) % Simula o estado de um conjunto de arvores dispostas numa % grelha rectangular. % Em cada instante, cada arvore esta' num de tres estados: % 1 viva (desenhado a verde); % 2 a arder (desenhado a vermelho); % 3 morta (desenhado a preto). % A simulacao desenha o estado da floresta no estadoinicial e % no fim de cada passo. O numero de passos e' numpassos. % As arvores da fronteira (da primeira/ultima linha/coluna da matriz estadoinicial) nao mudam de estado.... end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 80
81 Função incendiofloresta [2] Problema: Incêndio em floresta. Entrada: (matriz) estadoinicial, (real) pbbarder, (inteiro) numpassos. Saída: nenhuma. São gerados numpassos + 1 gráficos. Documentação da função (cont.) function incendiofloresta( estadoinicial, pbbarder, numpassos ) % As arvores transitam de estado simultaneamente. % O novo estado depende do estado da arvore, do estado das % quatro arvores vizinhas (direcoes Norte, Sul, Este e Oeste) % e do valor de pbbarder. % Se a arvore esta' viva e: % alguma arvore vizinha esta' a arder, a arvore fica a arder; % nenhuma arvore vizinha esta' a arder, % a probabilidade da arvore ficar a arder e' pbbarder e % Se a arvore esta' a arder, morre. % Se a arvore esta' morta, mantem-se nesse estado.... end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 81
82 Função incendiofloresta [3] Entrada: (matriz) estadoinicial, (real) pbbarder, (inteiro) numpassos. Saída: nenhuma. São gerados numpassos + 1 gráficos. E agora o código Nota: A função não retorna qualquer valor. Apenas produz várias figuras. function incendiofloresta( estadoinicial, pbbarder, numpassos ) %... estado = estadoinicial; figure(1); % criação da figura nº 1 desenhafloresta(estado); for i = 1 : numpassos estado = estadofloresta(estado, pbbarder); figure(i+1); % criação da figura nº i+1 desenhafloresta(estado); end end 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 82
83 Execução de incendiofloresta [1] >> floresta = ones(20, 20); >> floresta(10, 10) = 2; % início do incêndio >> incendiofloresta(floresta, 0.001, 9) F 1 F 2 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 83
84 Execução de incendiofloresta [2] F 3 F 4 F 6 F 5 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 84
85 Execução de incendiofloresta [3] F 6 F 7 F 8 F 9 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 85
86 Para Estudar esta Aula Manual Octave Capítulo 15, plo ng MATLAB plo ng func(ons hjp:// ng-func(ons.html Método Monte Carlo (informal): hjp://en.wikipedia.org/wiki/monte_carlo_method 10 Abril : Imagens e Gráficos em Matlab; Método Monte-Carlo 86
Vetores, Matrizes e Gráficos
Programação de Computadores I UFOP DECOM 2013 2 Aula prática 3 Vetores, Matrizes e Gráficos Resumo Nesta aula você irá utilizar vetores para resolver diversos tipos de problemas. Para expressar a solução
Leia maisInformática para Ciências e Engenharias 2014/15. Teórica 5
Informática para Ciências e Engenharias 2014/15 Teórica 5 Na aula de hoje... Representação de imagens pixels, sistema RGB Gráficos em MATLAB Gráficos simples Imagens 2D Exemplo: difusão Gráficos 3D Exemplo:
Leia maisMATLAB. Que é MATLAB?
MATLAB Que é MATLAB? MATLAB é o nome abreviado de MATrix LABoratory. MATLAB é um programa para realizar cálculos numéricos com vetores e matrizes. Como caso particular pode também trabalhar com números
Leia maisIntrodução ao MATLAB. Parte 3
Introdução ao MATLAB Parte 3 6 Gráficos 2D Há diversos comandos para produzir gráficos em 2D (veja a Figura ). O mais utilizado deles é o comando plot. Ele admite argumentos de entrada, que permitem adicionar
Leia maisAprender a utilizar o aplicativo Gnuplot para fazer gráficos
Capitulo 11. GRÁFICOS COM GNUPLOT (versão 5.03) OBJETIVOS DO CAPÍTULO Aprender a utilizar o aplicativo Gnuplot para fazer gráficos Aprender a utilizar o aplicativo Gnuplot interativamente com um programa
Leia maisMonitor: Diego Augusto Silva (P8 Eng. Elétrica) Atendimento: 2as. de 19:45h às 21:30h
Monitor: Diego Augusto Silva (8 Eng. Elétrica) Email: Atendimento: as. de 9:5h às :30h A Nota arcial de Aproveitamento (NA) será obtida da seguinte forma: NA = 0.6 NT + 0. N A nota prática será dada por:
Leia maisAula 2P - Comandos básicos do Matlab aplicados a PDS
Aula 2P - Comandos básicos do Matlab aplicados a PDS Bibliografia HAYKIN, S. S.; VAN VEEN, B. Sinais e sistemas, Bookman, 2001. ISBN 8573077417. Páginas 71-76. INGLE, V. K.; PROAKIS, J. G. Digital signal
Leia maisAntonio Carlos Roque da Silva Filho e Cristiano R. F. Granzotti 14 de março de 2016
Gráficos em Matlab Antonio Carlos Roque da Silva Filho e Cristiano R. F. Granzotti 14 de março de 2016 1 Gráficos em Matlab Gráficos bidimensionais serão muito utilizados ao longo do curso de Física Computacional,
Leia maisCapítulo 11. GRÁFICOS COM WGNUPLOT
Capítulo 11. GRÁFICOS COM WGNUPLOT OBJETIVOS DO CAPÍTULO Aprender a utilizar o aplicativo Wgnuplot para fazer gráficos Aprender a utilizar o aplicativo Wgnuplot interativamente com um programa em FORTRAN
Leia maisIntrodução ao Processamento de Imagens Digitais Aula 01
Introdução ao Processamento de Imagens Digitais Aula 01 Douglas Farias Cordeiro Universidade Federal de Goiás 06 de julho de 2015 Mini-currículo Professor do curso Gestão da Informação Formação: Graduação
Leia maisMATLAB Avançado. Melissa Weber Mendonça 1 2011.2. 1 Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.
MATLAB Avançado Melissa Weber Mendonça 1 1 Universidade Federal de Santa Catarina 2011.2 M. Weber Mendonça (UFSC) MATLAB Avançado 2011.2 1 / 37 MATLAB Básico: Números reais >> a = 1 >> b = 2 >> a + b M.
Leia maisINTRODUÇÃO AO SCILAB
INTRODUÇÃO AO SCILAB O programa SCILAB é um ambiente apropriado ao desenvolvimento de software para computação numérica. Esse programa foi concebido e é mantido pelo Institut de Recherche em Informatique
Leia maisUtilidades Diversas. Aplicações Informáticas para Engenharia. SérgioCruz
Utilidades Diversas Habitualmente os comandos que compõem um dado programa desenvolvido em matlab não são introduzidos usando a janela de comando mas sim escritos e gravados num ficheiro.m Para criar um
Leia maisNoções de Simulação. Ciências Contábeis - FEA - Noturno. 2 o Semestre MAE0219 (IME-USP) Noções de Simulação 2 o Semestre / 23
Noções de Simulação Ciências Contábeis - FEA - Noturno 2 o Semestre 2013 MAE0219 (IME-USP) Noções de Simulação 2 o Semestre 2013 1 / 23 Objetivos da Aula Sumário 1 Objetivos da Aula 2 Motivação 3 Geração
Leia maisProcessamento Simbólico Polinómios e Equações Gráficos
Matlab Processamento Simbólico Polinómios e Equações Gráficos Matlab Eercício. Iniciar o programa Matlab. Há duas formas: Fazer duplo-clique sobre o atalho, eistente no ambiente de trabalho do Windows
Leia maisVetores, Matrizes e Gráficos
Programação de Computadores I UFOP DECOM 2013 2 Aula prática 3 Vetores, Matrizes e Gráficos Resumo Nesta aula você irá utilizar vetores para resolver diversos tipos de problemas. Para expressar a solução
Leia maisMATLAB Avançado. Melissa Weber Mendonça 1 2011.2. 1 Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.
MATLAB Avançado Melissa Weber Mendonça 1 1 Universidade Federal de Santa Catarina 2011.2 M. Weber Mendonça (UFSC) MATLAB Avançado 2011.2 1 / 39 Exemplo Usar surf ou mesh para desenhar a superfície f (x,
Leia mais2 Programação de Simulink S-functions
2 Programação de Simulink S-functions 2.1 S-function É uma descrição de um bloco do simulink numa linguagem de programação, que pode ser codificada em Matlab, C / C++, Fortran ou Ada. u Fig. 2-1: (S-function
Leia maisSimulação MATLAB - Transmissão PCM em Banda Base e Diagrama de Olho. Testar o efeito de filtros sem ISI no espectro e na curva BERXE b /N 0.
Simulação MATLAB - Transmissão PCM em Banda Base e Diagrama de Olho Objetivos Simular a taxa de erro binário em função de E b /N 0 para diferentes modulações PCM e comparar com a teoria Testar o efeito
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss
Programação Funcional 11 a Aula Gráficos usando Gloss Pedro Vasconcelos DCC/FCUP 2014 A biblioteca Gloss Para fazer desenhos, animações, simulações e jogos 2D; Simples: pensada para ensino de programação;
Leia maisAula 2 - Sinais de tempo discreto Operações com sequências
Aula 2 - Sinais de tempo discreto Operações com sequências Bibliografia OPPENHEIM, A.V.; WILLSKY, A. S. Sinais e Sistemas, 2a edição, Pearson, 2010. ISBN 9788576055044. Páginas 5-20. HAYKIN, S. S.; VAN
Leia maisForecasting e ti O i Otim Oti ização de ã d Carteiras com Matlab AULA 3
Forecasting e Otimização i de Carteiras com Matlab AULA 3 Guia de Estudo para Aula 03 Modelos Discretos Exercícios - Formulação de um modelo - Programação de modelos com for - A simulação de um modelo
Leia maisMinicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.
Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros 28/03/15 Gráficos no Matlab O Matlab possui várias rotinas para plotagens gráficas
Leia maisCorel Draw. Editoração Gráfica. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.
Corel Draw Editoração Gráfica Professor: Jarbas Araújo professorjarbasaraujo@gmail.com CENTRO EDUCACIONAL RADIER Padrões CMYK ou RGB? Isso causa uma enorme confusão na cabeça de clientes, e pessoas leigas
Leia maisFunções Geradoras de Variáveis Aleatórias. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE
Funções Geradoras de Variáveis Aleatórias 1 Funções Geradoras de Variáveis Aleatórias Nos programas de simulação existe um GNA e inúmeras outras funções matemáticas descritas como Funções Geradoras de
Leia maisTUTORIAL SIMPLIFICADO DE MATLAB
TUTORIAL SIMPLIFICADO DE MATLAB Esse tutorial visa apresentar apenas as funções mais utilizadas pelo grupo. O Matlab suporta várias funções de entrada e saída de arquivos da linguagem C. Tais funções incluem
Leia maisMinicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.
Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros 28/03/15 Conteúdo a ser abordado na aula Declaração e manipulação de vetores ;
Leia maisAula 2: Tipos de variáveis
Aula 2: Tipos de variáveis Departamento de Métodos Estatísticos Instituto de Matemática Universidade Federal do Rio de Janeiro 2012 (UFRJ) Análise Exploratória de Dados 2012 1 / 34 Exemplo 2.1 Um pesquisador
Leia maisProf. Dr. Marco Antonio Leonel Caetano
Forecasting e Otimização de Carteiras com Matlab Prof. Dr. Marco Antonio Matlab O que é? Como funciona? Fundamentos - Ambiente de programação avançada - Ambiente de execução de programas - Permite utilização
Leia maisIteração e Pontos Fixos
Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.
Leia maisInteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2
Universidade Federal do Rio de Janeiro Instituto de Matemática / DCC Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação - 2003/2 Prof. A. C. G. Thomé, PhD thome@nce.ufrj.br Airam C. P.
Leia maisCOMPUTAÇÃO E PROGRAMAÇÃO
COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 3: Entrada/saída de dados. Scripts e funções. Estruturas de selecção. Sumário das tarefas e objectivos da aula: 1. Utilizar
Leia maisLaboratório de Programação de Computadores para Engenharia - Notas de aula - Teoria - 12/12/2013. Funções
Laboratório de Programação de Computadores para Engenharia - Notas de aula - Teoria - 12/12/2013 Prof. Pietrobon Funções 1) Introdução Alguns programas podem possuir milhares de linhas de código. Neste
Leia maisI-3 Introdução ao Matlab
I-3 Introdução ao Matlab Comunicações Sumário 1. Matlab MATrix LABoratory 2. Formas de utilização a) A janela de comandos b) Scripts c) Funções 3. Sintaxe, variáveis, matrizes e vetores 4. Operações comuns
Leia maisCÁLCULO I. 1 Número Reais. Objetivos da Aula
CÁLCULO I Prof. Edilson Neri Júnior Prof. André Almeida EMENTA: Conceitos introdutórios de limite, limites trigonométricos, funções contínuas, derivada e aplicações. Noções introdutórias sobre a integral
Leia maisUm modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo 15
2 Simulação estocástica A simulação computacional consiste em empregar técnicas matemáticas em computadores com o propósito de gerar ensaios que tentam reproduzir de maneira análoga um processo ou operação
Leia maisMATEMÁTICA A - 12o Ano N o s Complexos - Conjuntos e condições
MATEMÁTICA A - 1o Ano N o s Complexos - Conjuntos e condições Exercícios de exames e testes intermédios 1. Na figura ao lado, está representado, no plano complexo, um quadrado cujo centro coincide com
Leia maisLaboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens
Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens Luís Caldas de Oliveira Março de 2009 O objectivo deste laboratório é o de explorar a utilização de matrizes em Matlab e de usá-las para construir
Leia maisENG1000 Introdução à Engenharia
ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos
Leia maisAntónio Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de
Leia maisExistem três formas básicas de efectuar operações de entrada/saída:
Unidades de I/O Interface Entrada/Saída Existem três formas básicas de efectuar operações de entrada/saída entrada/saída isoladaas instruções IN e OUT transferem dados entre o registo AX ou a memória e
Leia maisVariáveis, Tipos de Dados e Operadores
! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória
Leia mais1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.
1 1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3. Modelo de Resultados Potenciais e Aleatorização (Cap. 2 e 3
Leia maisEsta janela apresenta o procedimento para a edição matricial sobre imagens temáticas, sintéticas e classificadas.
Edição Matricial Esta janela apresenta o procedimento para a edição matricial sobre imagens temáticas, sintéticas e classificadas. A edição matricial faz-se necessária quando o usuário deseja melhorar
Leia maisMídias Discretas. Introdução à Ciência da Informação
Mídias Discretas Introdução à Ciência da Informação Mídias Discretas Mídias discretas (estáticas) Texto Gráficos e Imagens Estáticas Caracteres são convertidos para uma representação com um número fixo
Leia maisMATLAB EM VIBRAÇÕES MECÂNICAS
MATLAB EM VIBRAÇÕES MECÂNICAS O QUE É O MATLAB? O MATLAB ( MATrix LABoratory ) é um pacote de programas computacionais que pode ser usado para a resolução de uma variedade de problemas científicos e de
Leia maisINTRODUÇÃO À COMPUTAÇÃO - EPET006 -
INTRODUÇÃO À COMPUTAÇÃO - EPET006 - Heleno Pontes Bezerra Neto - helenopontes@lccv.ufal.br Variáveis Compostas Homogêneas Unidimensionais 5. ESTRUTURAS DE DADOS Conceito Até então, tratamos os diversos
Leia maisPrimeiro Projeto de PG: Lista de Temas Selecionados
Primeiro Projeto de PG: Lista de Temas Selecionados Observações O sistema não pode apresentar estouro de memória, ou excessiva lentidão na execução. Haverá desconto na nota para este caso. Nenhum dos projetos
Leia maisIntrodução à Programação. Vanessa Braganholo
Introdução à Programação Vanessa Braganholo vanessa@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos
Leia mais1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de º Semestre
º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica de Junho de 6 º Semestre Exame sem consulta : 6: h Nome: Número: Escreva o seu número e nome em todas as folhas de exame. O exame
Leia maisA equação da circunferência
A UA UL LA A equação da circunferência Introdução Nas duas últimas aulas você estudou a equação da reta. Nesta aula, veremos que uma circunferência desenhada no plano cartesiano também pode ser representada
Leia maisUniversidade Federal do Rio de Janeiro COPPE. Trabalho de Processamento de Imagens Reconhecimento de Símbolos de Componentes Eletrônicos
Universidade Federal do Rio de Janeiro COPPE Trabalho de Processamento de Imagens Reconhecimento de Símbolos de Componentes Eletrônicos Nome: Fernanda Duarte Vilela Reis de Oliveira Professores: Antonio
Leia maisAula Teórica 14 Matrizes
Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/gustavo Aula Teórica 14 Matrizes Material Didático Proposto 1 Agenda Introdução;
Leia maisComputação Científica com MATLAB. Melissa Weber Mendonça
Computação Científica com MATLAB Melissa Weber Mendonça melissa.mendonca@ufsc.br Aula passada... Algoritmos: conceito; tipos de dados; scripts; Modo interativo do MATLAB: familiarização com o software;
Leia maisAula 12- Variáveis e valores reais
Aula 12- Variáveis e valores reais Até agora todos os nossos problemas continham apenas valores inteiros e portanto variáveis do tipo int. Para resolver problemas que usam valores com parte fracionária,
Leia maisProgramação em MATLAB
Programação em MATLAB Funções de Entrada / Saída Construção de gráficos Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Entrada / Saída de dados 2 1 Função pré-definida input Descrição:
Leia maisIntrodução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica
Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado
Leia maisMATEMÁTICA 3º ANO. Novo programa de matemática Objetivos específicos. Currículo Paulo VI. Números naturais. Relações numéricas Múltiplos e divisores
MATEMÁTICA 3º ANO NÚMEROS E OPERAÇÕES Tópicos Números naturais Relações numéricas Múltiplos e divisores Novo programa de matemática Objetivos específicos Realizar contagens progressivas e regressivas a
Leia maisDepartamento: Matemática Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007. Aula prática n o 1 - Introdução ao MATLAB
Instituto Politécnico de Viseu Escola Superior de Tecnologia Departamento: Matemática Métodos Numéricos Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007 Aula prática n o 1 - Introdução
Leia maisResolução de problemas. Meta Final 1) Compreende o problema. Meta Final 2) Concebe estratégias de resolução de problemas.
AGRUPAMENTO DE ESCOLAS LUÍS DE CAMÕES ESCOLA E.B 2,3 LUÍS DE CAMÕES DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS PROJECTO CURRICULAR DE MATEMÁTICA - 9.º ANO - 2014/2015 Critérios de Avaliação Capacidades
Leia maisGráficos bidimensionais. Introdução ao MATLAB p.1/36
Gráficos bidimensionais Introdução ao MATLAB p.1/36 Introdução Já vimos vários gráficos em exemplos anteriores. Veremos agora, com em mais detalhes, as principais ferramentas que o MATLAB disponibiliza
Leia maisRedes Complexas Aula 7
Redes Complexas Aula 7 Aula retrasada Lei de potência Distribuição Zeta Propriedades Distribuição Zipf Exemplo Wikipedia Aula de hoje Distribuição de Pareto Medindo lei de potência Estimando expoente Exemplos
Leia maisLINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL
LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL Prof. André Backes FLUXOGRAMAS Condição ou Decisão Representado por losangos Normalmente contém uma pergunta do tipo Sim/Não ou um teste de Verdadeiro/Falso.
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia maisIntrodução à Programação
Introdução à Programação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas
Leia maisEstudando com o MATLAB
Estudando com o MATLAB Curso de Extensão Docentes: > Fabiano Araujo Soares > Marcelino M. de Andrade Monitor: >Luan Felipe Aula 4: Aplicações - Parte II 1ª Parte - Estatística Aula 4-1ª Parte: Estatística
Leia maisPrograma. Linguagem MATLAB Métodos Computacionais para EDO Métodos Computacionais para EDP. Critérios
Programa Linguagem MATLAB Métodos Computacionais para EDO Métodos Computacionais para EDP Critérios P1: 5a Aula - Peso 1 P2: 10a Aula - Peso 1.5 P3: 15a Aula- Peso 2.0 Presença e Participação: Peso 2.0
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisÁlgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial
Álgebra Linear Aplicada à Compressão de Imagens Universidade de Lisboa Instituto Superior Técnico Uma Breve Introdução Mestrado em Engenharia Aeroespacial Marília Matos Nº 80889 2014/2015 - Professor Paulo
Leia maisAula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR
Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Conforme discutido na última aula, cada operação lógica possui sua própria tabela verdade. A seguir será apresentado o conjunto básico de portas lógicas
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisLista de exercícios de MAT / II
1 Lista de exercícios de MAT 271-26 / II 1. Converta os seguintes números da forma decimal para a forma binária:x 1 = 37; x 2 = 2347; x 3 =, 75; x 4 =(sua matrícula)/1; x 5 =, 1217 2. Converta os seguintes
Leia maisAplicações Informáticas B 12º Ano
Aplicações Informáticas B 12º Ano Prof. Adelina Maia 2013/2014 AIB_U4A 1 Bases sobre a teoria da cor aplicada aos sistemas digitais (red / Green / blue) Modelo CMYK (cyan / magenta / yellow + Black) Modelo
Leia maisIntrodução ao Matlab. Rodrigo Soares de Abreu
Introdução ao Matlab Começando! Crie uma pasta no servidor com o nome MATLAB. (Aqui será salvo o material produzido) Seu menu inicial no Matlab será composto por: Comand Window: Aqui são executados comandos
Leia maisIntrodução aos Sistemas Matlab/GNU Octave
Introdução aos Sistemas Matlab/GNU Octave FEB/UNESP - Bauru 1 Introdução Existem uma série de ambientes matemáticos propícios para a solução de algumas tarefas a serem realizadas cotidianamente em cálculos
Leia maisAlgoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008
Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2013-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos
Leia maisIntrodução: A necessidade de ampliação dos conjuntos Numéricos. Considere incialmente o conjunto dos números naturais :
Introdução: A necessidade de ampliação dos conjuntos Numéricos Considere incialmente o conjunto dos números naturais : Neste conjunto podemos resolver uma infinidade de equações do tipo A solução pertence
Leia maisCaderno 1: 35 minutos. Tolerância: 10 minutos. (é permitido o uso de calculadora)
Prova Final de Matemática 3.º Ciclo do Ensino Básico Decreto-Lei n.º 139/01, de 5 de julho Prova 9/1.ª Chamada Caderno 1: 7 Páginas Duração da Prova (CADERNO 1 + CADERNO ): 90 minutos. Tolerância: 30 minutos.
Leia maisDispositivos e Periféricos de Computador
Dispositivos e Periféricos de Computador Ecrãs - Visual Display Unit - VDU Píxel picture element (plural em pt. é píxeis) Tamanho: diagonal do ecrã Resolução (número de píxeis no ecrã) VGA: 480 x 640 SVGA:
Leia maisFicheiros de texto 1. Ficheiros de texto. 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro.
Ficheiros de texto 1 Ficheiros de texto 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro. 2. Implementar um programa que procure num ficheiro uma palavra lida do teclado.
Leia maisCurso de PHP. FATEC - Jundiaí. A diferença a entre as matrizes e as arrays é que acrescentamos mais
Curso de PHP FATEC - Jundiaí Matrizes Multidimensionais A diferença a entre as matrizes e as arrays é que acrescentamos mais um índice para identificar a posição na matriz. O número n de índices será diretamente
Leia maisMap05 - Métodos Matriciais Computacionais Mat Álgebra Matricial Computacional Primeiro Exercicio Computacional, entregar ao Prof: 22/10/2012
Mat0050 - Álgebra Matricial Computacional Primeiro Exercicio Computacional, entregar ao Prof: 22/0/202 Assunto: Normais vetoriais, BLAS e Fortran90 Objetivo: Completar estudo dirigido que não pode ser
Leia maisBAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores
BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores 1- Faça um programa que preencha um vetor com seis elementos numéricos inteiros, calcule e mostre: a.
Leia maisQuarta lista de exercícios: Potenciais e campos.
Quarta lista de exercícios: Potenciais e campos. 12 de abril de 2016 Docente Responsável: Prof. Dr. Antônio C. Roque Monitor: Cristiano Granzotti Os exercícios desta lista devem ser resolvidos em Matlab.
Leia maisESCOLA BÁSICA INTEGRADA DE ANGRA DO HEROÍSMO Plano da Unidade
Unidade de Ensino: OPERAÇÕES COM NÚMEROS RACIONAIS ABSOLUTOS (adição e subtracção). Tempo Previsto: 3 semanas O reconhecimento do conjunto dos racionais positivos, das diferentes formas de representação
Leia maisGráficos em duas dimensões
Gráficos MATLAB 2 A função básica para a elaboração de gráficos bidimensionais é o comando plot: Exemplo x = -10:1:10; y = x.^2; plot(x,y,'-r'); title('grafico de x^2'); Exemplo x = -10:1:10; y = x.^2;
Leia maisUniversidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número
Leia maisComputação 1 - Python 1/ 41
Computação 1 - Python Aula 2 - Teórica: Função 1/ 41 Função Exercício: Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 41 Função Exercício:
Leia maisPlaneamento e Gestão de Redes. Simulação de Redes IP
PGRE SIM1 Planeamento e Gestão de Redes Simulação de Redes IP Manuel P. Ricardo Faculdade de Engenharia da Universidade do Porto PGRE SIM2 Como usar um simulador de redes e, em particular, o simulador
Leia maisBitmap X Vetorial OS DOIS PRINCIPAIS TIPOS DE ARQUIVOS NA COMPUTAÇÃO GRÁFICA
Bitmap X Vetorial OS DOIS PRINCIPAIS TIPOS DE ARQUIVOS NA COMPUTAÇÃO GRÁFICA Bitmap X Vetorial > Existem dois tipos de arquivos fundamentais na computação gráfica: bitmap e vetorial. Alguns programas mais
Leia mais2.1. Construção da Pista
2 Malha de Controle Para que se possa controlar um dado sistema é necessário observar e medir suas variáveis de saída para determinar o sinal de controle, que deve ser aplicado ao sistema a cada instante.
Leia maisMATLAB Avançado. Melissa Weber Mendonça
MATLAB Avançado Melissa Weber Mendonça melissa.mendonca@ufsc.br Estruturas Outra maneira de armazenar dados heterogêneos é usar estruturas: cada estrutura é composta de campos que podem conter quaisquer
Leia maisInformática no Ensino de Matemática Prof. José Carlos de Souza Junior jc
Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 10 Reproduza as seguintes figuras no SuperLogo: ATIVIDADE 01 ATIVIDADE 02 Reproduza
Leia maisRHINOCEROS 4.0 RHINOCEROS 4.0
RHINOCEROS 4.0 RHINOCEROS 4.0 CURVAS Desenho de Curvas (Control Points e Interpolate Points) Ferramentas de Precisão Edição de Pontos e por Controle de Pontos Rebuild controle do nº de pontos da curva
Leia maisExercícios sobre algoritmos
Exercícios sobre algoritmos Exercícios envolvendo estruturas de decisão Fazer um algoritmo para: 1) Receber um número do usuário e mostrar se esse número é par ou não par 2) Receber 3 valores numéricos,
Leia mais2. EXERCÍCIOS PROPOSTOS SOBRE V.A. E DISTRIB.PROBAB.
2. EXERCÍCIOS PROPOSTOS SOBRE V.A. E DISTRIB.PROBAB. 1) Classifique as seguintes variáveis aleatórias como discretas ou contínuas. X : o número de acidentes de automóvel por ano na rodovia BR 116. Y :
Leia maisEscola Básica de Ribeirão (Sede) ANO LETIVO 011/01 Nome: Nº: Turma: Classificação: Professor: Enc Educação: Ficha de Avaliação de Matemática Versão 1 Duração do Teste: 90 minutos maio de 01 º Ciclo do
Leia mais