17
2 de Junho de 20 05 Conclusão 1 Conclusão Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

Embed Size (px)

Citation preview

Page 1: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 1

Conclusão

Pedro BarahonaDI/FCT/UNL

Junho 2005

Page 2: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 2

Ciclos de Simulação

• A técnica usada no exemplo da queda livre pode ser utilizada para trajectórias a duas (ou três dimensões).

• Em geral, para cada ciclo é necessário

– Utilizar uma coluna (ou linha) para as variáveis que estão a ser simuladas

– Inicializar a “linha de cima”

– Na linha seguinte obter os valores das variáveis a partir dos valores anteriores (i.e. da linha anterior).

– Tendo em atenção as referências relativas e/ou absolutas, copiar a 2ª linha para as linhas seguintes.

– Copiar tantas linhas quantas as necessárias

Page 3: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 3

Exemplo: Trajectória 2 dimensõesg = 9.8 aceleração da gravidade dt= % intervalo de tempo (em segs)vi = % velocidade inicial (em m/s)k = % coeficiente de atrito (1/s)alfa = % ângulo de disparot = 0x = 0y = 0;vx = vi*cos(alfa*pi/180)vy = vi*sin(alfa*pi/180);ax = - ka * vxay = -g - ka * vy; while Y(i) >= 0 t = t + dt; x = x + vx * dt; y = y + vy * dt; vx = vx + ax * dt; vy = vy + ay * dt; ax = 0 - ka * vx; ay = -g - ka * vy;endwhile;

Page 4: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 4

Exemplo: Trajectória 2 dimensões

dt vi alfa k g0.01 40 30 1 9.8t x y vx vy ax ay0 0 0 34.641 20 -34.64 -29.8

0.010 0.346 0.200 34.295 19.702 -34.641 -29.8000.020 0.689 0.397 33.948 19.404 -34.295 -29.5020.030 1.029 0.591 33.605 19.109 -33.948 -29.2040.040 1.365 0.782 33.266 18.817 -33.605 -28.909... ... ... ... ... ... ...

2.840 32.376 0.020 1.938 -8.133 -1.958 -1.6842.850 32.396 -0.062 1.918 -8.150 -1.938 -1.667

Page 5: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 5

Ciclos de Simulação

• Uma vez obtidas as tabelas de simulação, podem obter-se gráficos, seleccionando as colunas apropriadas e inserindo um gráfico (insert graph) com base nessa tabela.

-2

0

2

4

6

8

10

0 5 10 15 20 25 30 35

Page 6: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 6

Ajuste de Parâmetros• Em geral, se forem dados os parâmetros de um modelo físico

pode ser simulado o seu comportamento. Mas se se pretender determinar os parâmetros que conduzem a um certo comportamento a situação não é em geral simples.

• Em muitos casos, a melhor solução é tentar as várias alternativas (em um ou mais ciclos encadeados) e verificar qual a adequada. Por exemplo o maior alcance pode ser tentado variando a ângulo.

• Nestas situações uma folha de cálculo não é muito adequada para resolver o problema pois exige que o utilizador tente (manualmente) os vários parâmetros.

• No caso do alcance podem existir 31 ângulos para testar (entre 30º e 60º). No caso do tiro poderá haverá 30 (ângulos) * 21 (velocidades de 10 a 20) * 11 (coeficientes de atrito de 0 a 1) = 7161 possibilidades!!!

Page 7: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 7

Tratamento de Dados

• O tratamento de dados numéricos, nomeadamente por regressão linear entre duas variáveis X e Y, pode igualmente ser feito através da folha de cálculo.

• Para esse efeito deverão ser utilizadas duas colunas (uma para a variável) onde se guardam os valores X e Y observados

• Para se obter os parâmetros da recta que melhor aproxima os pontos observados podem devem calcular-se esses valores de acordo com as fórmulas indicadas (ou utilizando as funções slope, intercept e correl).

• Pode depois construir-se uma nova coluna, com os valores dos Y esperados, baseados nos valores dos X e dos parâmetros da recta.

• Finalmente pode obter-se o gráfico dos valores dos Xs e Ys observados e dos Ys esperados.

Page 8: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 8

Tratamento de Dadosm b r2.75 43.83 0.93X

observado observado esperado188 606.4 561.140 161.4 153.9145 396.2 442.8113 445.7 354.788 248.6 285.957 209.7 200.6... ... ...139 357.3 426.2

Y

0.0

100.0

200.0

300.0

400.0

500.0

600.0

700.0

800.0

0 50 100 150 200 250

Nota: O Excel permite obter uma ideia qualitativa da recta através da utilização da tendência no desenho do gráfico (opção add trendline).

Page 9: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 9

Tratamento da Informação

• A informação não numérica ou mista, como a que se pode organizar em tabelas, pode igualmente ser tratada por folhas de cálculo.

• Por exemplo, para cada elemento da tabela podem fazer-se cálculos a partir dos dados individuais (eventualmente através de fórmulas condicionais) ou obterem-se medidas de agregação (totais, médias, etc.).

• Podem ainda encontrar-se os valores máximos e mínimos de vectores e tabelas.

• Para todas estas operações podem ser utilizadas funções predefinidas das folhas de cálculo, algumas das quais condicionais.

Page 10: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 10

Tratamento da Informação• A tabela abaixo calcula a nota final dos alunos, obtida por 2

testes e exame. Um aluno tem frequência se a soma dos testes fôr maior ou igual a 9.5. A nota de frequência é a média dos testes. A nota final é obtida pela média ponderada da nota de frequência (peso 5) e do exame (peso 15). São ainda calculados os alunos com notas positivas e as médias da turma e dos alunos com nota positiva).

num nome t1 t2 exame final freq aux610 Paulo Fernandes Lopes 12 14 16 15.25 13 15.25825 Pedro Vieira 13 9 11 11 11 11316 Marta Costa Martins 10 9 8 F 9.5 8.37534 Rui Vasco Pereira 7 5 0 R R #VALUE!723 Jorge Barata 11 15 14 13.75 13 13.75

alunos 5 5 5 5média 10.60 10.40 9.80 8.00alunos com positiva 4 2 3 3média das positivas 11.50 14.50 13.67 13.33

Page 11: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 11

Tratamento da Informação• As tabelas podem ser ordenadas por alguns dos campos (pelo

nome dos alunos, pelo número dos alunos, pela nota, etc...).

• A mesma tabela anterior, ordenada por ordem (crescente) do nome dos alunos é mostrada abaixo.

• È igualmente determinada a nota máxima e nota mínima.

num nome t1 t2 exame final freq aux723 Jorge Barata 11 15 14 13.75 13 13.75316 Marta Costa Martins 10 9 8 F 9.5 8.375610 Paulo Fernandes Lopes 12 14 16 15.25 13 15.25825 Pedro Vieira 13 9 11 11 11 1134 Rui Vasco Pereira 7 5 0 R R #VALUE!

alunos 5 5 5 5média 10.60 10.40 9.80 8.00alunos com positiva 4 2 3 3média das positivas 11.50 14.50 13.67 13.33nota máxima 13 15 16 15.25nota mínima 7 5 0 11

Page 12: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 12

Tratamento da Informação• Existem outras operações que envolvem operações de selecção e

que não são tão fáceis de implementar com uma folha de cálculo. Por exemplo, escrever uma tabela apenas com os alunos passados. Numa folha de cálculo podem ordenar-se por notas, mas a selecção tem de ser feita “manualmente”.

num nome t1 t2 exame final freq aux34 Rui Vasco Pereira 7 5 0 R R #VALUE!316 Marta Costa Martins 10 9 8 F 9.5 8.375610 Paulo Fernandes Lopes 12 14 16 15.25 13 15.25723 Jorge Barata 11 15 14 13.75 13 13.75825 Pedro Vieira 13 9 11 11 11 11

alunos 5 5 5 5média 10.60 10.40 9.80 8.00alunos com positiva 4 2 3 3média das positivas 11.50 14.50 13.67 13.33

Page 13: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 13

Tratamento da Informação• Operações deste tipo podem ser executadas através de

programas apropriados, que leiam os ficheiros de entrada e produzam os ficehiros de saída.

• Em situações mais complexas, a informação pode estar distribuída por várias tabelas e os programas podem tornar-se muito complexos.

• É para estes casos que são criados os sistemas de bases de dados (relacionais), em que

– Se estabelecem metodologias para organizar os dados em tabelas (normalização)

– Se utilizam linguagens de acesso (ex. SQL) para tornar as questões (queries) mais simples.

Page 14: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 14

Algoritmos e Complexidade• Os modernos sistemas informáticos (folhas de cálculo, bases de

dados) e linguagens de programação (funções e classes pré-definidas), disponibilizam facilidades em que procuram acomodar as necessidades mais comuns dos utilizadores,

• Outras necessidades, mais específicas, requerem o desenvolvimento de algoritmos especializados.

• Ao desenvolver um algoritmo, e não obstante a rapidez dos modernos computadores, há que ter em atenção a sua complexidade, que mede os recursos (tempo e espaço) requeridos pelo algoritmo para terminar

• Informalmente os algoritmos podem ser divididos em duas grandes classes: polinomiais ou exponenciais.

Page 15: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 15

Algoritmos Exponenciais• Um algoritmo que para n variáveis com d valores procure um

valor adequado, pode no pior caso ter de ser implementado com ciclos encadeados:

para X1 de 1 a dpara X2 de 1 a d

para X3 de 1 a d ... para Xn de 1 a d

testar (X1, X2, X3, ..., Xn) fimpara;

...fimpara;

• Como é fácil de calcular, o teste é executado d*d* *d = dn vezes, pelo que um algoritmo deste tipo é exponencial em n (número de variáveis).

Page 16: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 16

Algoritmos Polinomiais• Muitos outros algoritmos são

polinomiais. Tal é o caso da ordenação de um vector V com n valores, pelo método da bolha (bubble sort).

• O número de trocas máximo é de

(n-1)+(n-2)+...+1 = (n-1) ((n-1)+1)/2 ≈ ½ n2

pelo que o algoritmo é polinomial (quadrático) na dimensão, n, do vector.

Comparações

9 7 5 3 1 1-2

7 9 5 3 1 2-3

7 5 9 3 1 3-4

7 5 3 9 1 4-5

7 5 3 1 9 1-2

5 7 3 1 9 2-3

5 3 7 1 9 3-4

5 3 1 7 9 1-2

3 5 1 7 9 2-3

3 1 5 7 9 1-2

1 3 5 7 9 ok

Page 17: 2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005

2 de Junho de 2005 Conclusão 17

Comparação da Complexidade• A diferença qualitativa entre estes algoritmos é importante. Se assumirmos que cada operação básica leva 1μs,

podemos escrever a seguinte tabela

... o que justifica que a maioria das funções predefinidas (tais como ordenações, máximo, etc.) sejam do tipo polinomial!

10 20 30 40 50 60 70

2n 1.02 ms 0.105 s 107.37 s 1.27 d 3.57 a 3 655.89 a 3.74 M 1 seg = 1E+07

3n 59.05 ms 348.68 s 238.3 d 38 551.7 a 2 276.44 M 134.42 T 2.5E+33 1 hora = 3.6E+10

5n 0.98 s 110.38 d 2.95 m 28.84 T 8.88E+34 8.67E+41 8.47E+48 1 dia = 8.6E+11

n2 0.1 ms 0.4 ms 0.9 ms 1.6 ms 2.5 ms 3.6 ms 4.9 ms 1 ano = 3.2E+14

n3 1.0 ms 8.0 ms 27.0 ms 64.0 ms 125.0 ms 216.0 ms 343.0 ms 1 M ano = 3.2E+20

n5 100.0 ms 3.20 s 24.30 s 102.40 s 312.50 s 777.60 s 1 680.70 s 1 T ano = 3.2E+26

n