MAP0003P
De WikiLICC
MAP0003P - Métodos Numéricos para Equações Diferenciais
Prof.Dagoberto Adriano Rizzotto Justo
Índice
Horários
Sala A114 - Segunda e Quarta - 15:30 as 17:10 (Semestre 2013/1)
- Notas de Aula: para impressão. (Sujeito a mudancas durante o semestre.)
- Slides de Aula: para visualização na tela.
Lista de Exercícios
- Arquivo Latex exemplo de tema de casa.
- Lista 1: 2.4, 2.5, (2.7 ou 2.8),3.9, 3.13. (entrega 27/03)
- Lista 2: 5.1, 5.2, 5.5, 5.7, 6.5, 6.13 (entrega 15/abr).
- Lista 3: (entrega 24/abr)
- Exe1) Encontre os coeficientes de um método de Runge Kutta de Ordem 3 ou 4 (explícito ou implícito) (diferente dos apresentados nas notas de aula). Descreva o desenvolvimento como nas seções 7.2 ou 7.3 das notas de aula (não é necessário digitar, pode ser escrito).
- Exe2) Aplique o método encontrado na solução do exercício 7.2)a), mostrando e calculando a ordem de convergência numérica encontrada.
- Lista 4: 9.5, 9.6, escolha um em [9.8 ou 9.9 ou 9.10], escolha um em [10.1 ou 10.2 ou 10.3] (entrega 15/mai)
- Lista 5: (10.7 ou 10.8), 10.10, 10.11, 10.12. Entrega 27/mai (em DUPLAS. Cada aluno é responsável por 2 exercícios.)
- Lista 6: 11.9, 11.10, escolha um:[11.1,11.2,11.6,11.7], escolha um: [11.3,11.4,11.5] Entrega 10/Jun (em DUPLAS. Cada aluno é responsável por 2 exercícios.)
Trabalhos finais
Exemplos
- Arquivo Maple para calcular fator de amplificacao FTCS, laxf.
- Arquivo Maple para calcular raiz de polinomio e converter para latex.
- Exemplo de arquivo Maple para resolver sistemas.
Scilab
Rodando um programa em Scilab
- Digite editor no console para abrir o editor.
- Digite o programa (como os exemplos abaixo)
- Salve o programa com a extensão .sce ou .sci
- Selecione o menu Execute e Load into Scilab (Control+L)
- No console, digite o nome da função desejada, por exemplo,
iteracao(10)
Exemplos
- Exercício 2.1
function [x]=iteracao(x0) x(1)=x0; for k=1:100 x(k+1)=x(k)*(3-x(k)^2)/2; end plot(x,'.-') endfunction
- Exercício 2.2
function [c]=mandelbrot(Total) c=(rand()-0.5+%i*(rand()-0.5))*3 z(1)=0; k=1; while(k<Total) //&(abs(z(k))<2) z(k+1)=z(k)^2+c; k=k+1; end if( abs(z(k))<2 ) then plot(real(c),imag(c),'*m'); end endfunction
- Adveccao com cond. contorno periódicas
function [v,normv]=adveccao(N,Tfinal) L = 1; // extremo direito a = 1; // velocidade h = (L)/N; //passo k = 1.6*h; // passo de tempo x = linspace(0,L+h,N+2); // dominio v = exp(-8*(x-0.5).^2); v = 0.0*x; v(N/4:N/2)=1; v = sin(2*%pi*x/L); plot(x,v,'b.-') ItTotal = round(Tfinal/k); for n=1:ItTotal for i=2:N+1; vnew(i)=(v(i-1)+v(i+1))/2-a*k*(v(i+1)-v(i-1))/(2*h); end vnew(1) = vnew(N+1); // cond.contorno vnew(N+2) = vnew(2); // cond.contorno v = vnew; normv(n)=norm(v(1:N),2)*sqrt(h); end plot(x,vnew,'r*-') razao = normv(ItTotal)/normv(ItTotal-1); disp(razao) endfunction
- Leapfrog
function [v,normv]=leapfrog(N,Tfinal) L = 1; // extremo direito a = 1; // velocidade h = (2*L)/N; //passo k = 0.9*h; // passo de tempo x = linspace(-L,L,N+1); // dominio //v = exp(-8*(x-0.5).^2); v=(abs(x)<=1/2).*cos(%pi*x).^2; //v = 0.0*x; //v(N/4:N/2)=1; //v = sin(2*%pi*x/L); for i=2:N; vn(i)=v(i) -a*k*(v(i+1)-v(i-1))/(2*h); end vn(1)=0; vn(N+1)=0; plot(x,v,'b.-') ItTotal = round(Tfinal/k); for n=1:ItTotal for i=2:N; vnew(i)=v(i) -a*(2*k)*(vn(i+1)-vn(i-1))/(2*h); end vnew(1) = 0; // cond.contorno vnew(N+1) = 0; // cond.contorno //vnew(N+1) = vnew(N); // A cond.contorno //vnew(N+1) = 2*vnew(N)-vnew(N-1); // B cond.contorno //vnew(N+1) = 2*vn(N)-v(N-1); // C cond.contorno //vnew(N+1) = vn(N); // D cond.contorno t=(n+1)*k; exata=((abs(x-a*t))<=1/2).*cos(%pi*(x-a*t)).^2; v = vn; vn= vnew; normv(n)=norm(v(1:N),2)*sqrt(h); end plot(x,vnew,'r*-') plot(x,exata,'b.') ///plot(x,exata-vnew','b*-') razao = normv(ItTotal)/normv(ItTotal-1); disp(razao) endfunction
Referências
- Página de Numérico, Apostila, listas de exercícios e material extra.
- Introdução ao Scilab, prof. Leonardo Guidi.
- Intro to Scilab.
- Análise Numérica:Livros
Softwares
Links para instalar Latex:
Veja como instalar o Latex: