Tempo computacional do EP1

Tempo computacional do EP1

por Marco Alexandre Claudino -
Número de respostas: 1

Olá Pessoal, boa tarde.

Muitas pessoas me perguntaram sobre o tempo que demora para executar o EP. Em linguagem C demora menos que um minuto (acabei de testar em um dos micros da rede IME para N = 4096).

Cuidado com a quantidade de impressões realizadas pelo seu código pois isso pode deixar o seu programa extremamente lento.

Att,

 

Em resposta à Marco Alexandre Claudino

Re: Tempo computacional do EP1

por Marco Alexandre Claudino -

Olá Pessoal, boa tarde.

Tenho observado que muitas pessoas estão armazenando a matriz das aproximações dentro do programa e tendo dificuldade com a obtenção das aproximações a partir das entradas da matriz. Como comentei com alguns alunos em monitoria, a menos que vocês queiram plotar em 3d a solução obtida (o enunciado não pede isso), não é necessário armazenar a matriz toda. Como ambos os métodos são de passo simples, temos que dois vetores de tamanho M+1 são suficientes para a execução dos métodos conforme pedido pelo enunciado.

Se vocês quiserem plotar as aproximações em todo o domínio [0,L]x[0,T] é mais interessante armazenar as aproximações linha por linha do tempo em um arquivo externo e depois ler essa tabela com o programa que vocês forem utilizar para gerar as imagens (gnuplot, scilab, R...). Lembrem-se que será necessário fornecer também o vetor do tempo e do espaço discreto (ié, os valores de t_n e x_m) para o programa gerar a aproximação. Frisando mais uma vez: isso não é obrigatório!

Em relação as impressões em determinados instante de tempo (isso é pedido pelo enunciado), a maneira mais simples (na minha opinião) e colocar um condicional dentro do laço temporal dizendo quando devo imprimir a solução no plano (x,u). Como o dt é bem pequeno, não compensa imprimir os valores para t_n's consecutivos pois as aproximações ficaram praticamente juntas e não será possível ver o efeito da evolução temporal e nem do método numérico.

Qualquer dúvida, entrem em contato.

Att,