Mudanças entre as edições de "MAP0003P"
De WikiLICC
m (→Referências) |
m (→Lista de Exercícios) |
||
(28 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 4: | Linha 4: | ||
==Horários== | ==Horários== | ||
− | Sala | + | Sala B120 - Terça e quinta - 10:30 as 12:00 (Semestre 2014/1) |
* [http://www.mat.ufrgs.br/~dago/metnum/metnum.pdf Notas de Aula]: para impressão. (Sujeito a mudancas durante o semestre.) | * [http://www.mat.ufrgs.br/~dago/metnum/metnum.pdf Notas de Aula]: para impressão. (Sujeito a mudancas durante o semestre.) | ||
Linha 13: | Linha 13: | ||
* Arquivo Latex exemplo de [http://www.mat.ufrgs.br/~dago/metnum/temacasa.tex tema de casa]. | * Arquivo Latex exemplo de [http://www.mat.ufrgs.br/~dago/metnum/temacasa.tex tema de casa]. | ||
− | * Lista 1: 2. | + | * Lista 1: 2.7, 5.1, 5.2, 8.2,8.3. (entrega 20/03) |
− | * Lista 2: | + | * Lista 2: 9.5, 9.6, escolha um em [9.8 ou 9.9 ou 9.10] (entrega 08/04) |
− | * Lista 3: | + | * Lista 3: 9.14, 10.1, (10.7 ou 10.8), 10.9, 10.10, 10.12, (11.1 ou 11.2). (entrega 08/maio) |
− | + | ||
<!-- | <!-- | ||
+ | * 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.) | ||
+ | --> | ||
+ | |||
+ | <!-- | ||
+ | * Lista 3: 5.7, 6.5, 6.8, 6.13, 7.1 (entrega xx/xx) | ||
+ | * Lista 4: 7.3, 8.3, 8.4 (entrega xxx) | ||
+ | * Lista 5: 9.5, 9.6, (9.8 ou 9.9), 10.2 (entrega 01/jun) | ||
+ | * Lista 6: (10.7 ou 10.8), 10.11, 10.12, 11.9 (entrega 17/jun) | ||
+ | |||
* Lista 3: 5.7, 6.8, 6.12, 7.2 (entrega 13/abr) | * Lista 3: 5.7, 6.8, 6.12, 7.2 (entrega 13/abr) | ||
* Lista 5: Exemplo 37, exerc. 9.5, (9.8 ou 9.9 ou 9.10), 9.11 (entrega 11/mai) | * Lista 5: Exemplo 37, exerc. 9.5, (9.8 ou 9.9 ou 9.10), 9.11 (entrega 11/mai) | ||
Linha 35: | Linha 50: | ||
--> | --> | ||
+ | |||
+ | == Trabalhos finais == | ||
+ | <!-- | ||
+ | EDO Adaptive RK | ||
+ | u_t=a1 u_x+a_2 u_y upwind automat/periodico a1=sin(t),a2=cos(t), CC periodica | ||
+ | 13.9) u_t+ (u²)_x=bu_xx | ||
+ | |||
+ | u_tt=a(u_xx+u_yy), Malha adaptive/refinada | ||
+ | |||
+ | u_t+au_x, 4.a/6.a ordem | ||
+ | u_tt=a(u_xx+u_yy), 4.a/6.a ordem | ||
+ | Div(a Grad u)=f , 4.a/6.a ordem | ||
+ | u_t =u_xx+u_yy , 4.a/6.a ordem | ||
+ | |||
+ | Div(a Grad u)=f , a é NH 2 meios | ||
+ | u_t =a(u_xx+u_yy), a é NH 2 meios | ||
+ | u_tt=a(u_xx+u_yy), a é NH a é uma faixa | ||
+ | u_tt=a(u_xx+u_yy), a é NH a é um circulo | ||
+ | u_t =a(u_xx+u_yy), CC círculo | ||
+ | |||
+ | 15.2) Peaceman-Rachford, | ||
+ | DG | ||
+ | 13.9) u_t+ ((au)²)_x=bu_xx, a e b - bifurcacao | ||
+ | |||
+ | Ivana Martins | ||
+ | VINÍCIUS FERNANDES MORETTI | ||
+ | Aline da Rosa Parigi | ||
+ | Juliana Sanches | ||
+ | ELIZANDRO MAX BORBA | ||
+ | LUCAS DE OLIVEIRA CONTIERO | ||
+ | Arlindo Dutra Carvalho Junior | ||
+ | Otonio Dutra da Silva | ||
+ | SAMUEL DA SILVA GOMES | ||
+ | Carolina Rocha Freitas | ||
+ | Taline Foletto | ||
+ | CASSIO BAISSVENGER PAZINATTO | ||
+ | Cristina Zaniol | ||
+ | Felipe Luy Valério | ||
+ | |||
+ | --> | ||
===Exemplos=== | ===Exemplos=== | ||
Linha 74: | Linha 129: | ||
endfunction | 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== | ==Referências== |
Edição atual tal como às 10h57min de 24 de abril de 2014
MAP0003P - Métodos Numéricos para Equações Diferenciais
Prof.Dagoberto Adriano Rizzotto Justo
Índice
Horários
Sala B120 - Terça e quinta - 10:30 as 12:00 (Semestre 2014/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.7, 5.1, 5.2, 8.2,8.3. (entrega 20/03)
- Lista 2: 9.5, 9.6, escolha um em [9.8 ou 9.9 ou 9.10] (entrega 08/04)
- Lista 3: 9.14, 10.1, (10.7 ou 10.8), 10.9, 10.10, 10.12, (11.1 ou 11.2). (entrega 08/maio)
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: