Mudanças entre as edições de "MAP0003P"

De WikiLICC
Ir para: navegação, pesquisa
m (Horários)
m (Lista de Exercícios)
 
(24 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 4: Linha 4:
  
 
==Horários==
 
==Horários==
Sala A114 - Segunda e Quarta - 15:30 as 17:10 (Semestre 2013/1)
+
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.4, 2.5 e 2.7. (entrega xx/xx)
+
* 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)
 +
 
 +
<!--
 +
* 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 2:  3.12, 3.13, 3.14, 5.1, 5.2 (entrega 26/mar).
 
 
* Lista 3: 5.7, 6.5, 6.8, 6.13, 7.1 (entrega xx/xx)
 
* 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 4: 7.3, 8.3, 8.4 (entrega xxx)
Linha 38: 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 77: 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

Horários

Sala B120 - Terça e quinta - 10:30 as 12:00 (Semestre 2014/1)

Lista de Exercícios

  • 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

Softwares

Links para instalar Latex:

Veja como instalar o Latex: