Mudanças entre as edições de "MAP0003P"
De WikiLICC
m |
m (→Lista de Exercícios) |
||
(48 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: | + | * 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 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 5: Exemplo 37, exerc. 9.5, (9.8 ou 9.9 ou 9.10), 9.11 (entrega 11/mai) | ||
+ | * Lista 6: 10.8, 10.9, 10.10, 10.11 (entrega 25/mai) | ||
+ | * Lista 7: 11.4, 11.8, 11.9 | ||
+ | |||
+ | * Lista 2: 3.12, 3.13, 3.14, 5.1, 5.2 (entrega 26/mar). | ||
+ | * Lista 3: 5.4, 5.5 ou 5.6 ou 5.7 (entrega 02/abr). | ||
+ | * Lista 4: 6.5, 6.6, 6.13, 7.2 e 7.3 (entrega 09/abr). | ||
+ | * Lista 5: 8.3, 8.4, 8.7, exemplo (32 ou 33 ou 34) (entrega 18/abr). | ||
+ | * Lista 6: 9.5, 9.6, 9.7. Escolha um: [9.8,9.9,9.10] (entrega 30/abr, ate 15:00). | ||
+ | * Lista 7: Escolha um: [10.1, 10.2, 10.3], 10.5, escolha um: [10.7,10.8], (entrega 7/mai). | ||
+ | * Lista 8: 10.11, 10.12, (entrega 14/mai). | ||
+ | * Lista 9: 11.9, 11.10, escolha um:[11.1,11.2,11.6,11.7], escolha um: [11.3,11.4,11.5] (entrega 23/mai). | ||
+ | * Lista 10: 13.1, 13.6, 13.9. (individual) entrega (06/jun). | ||
+ | * Lista 11: 14.1, 14.3, 14.4. entrega (13/jun). | ||
+ | |||
+ | --> | ||
+ | |||
+ | == 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 | ||
− | + | --> | |
− | |||
− | *[[http:// | + | ===Exemplos=== |
− | * | + | * Arquivo Maple para calcular fator de amplificacao [http://www.mat.ufrgs.br/~dago/metnum/ftcs.mws FTCS], [http://www.mat.ufrgs.br/~dago/metnum/laxf.mws laxf]. |
− | * | + | * Arquivo Maple para calcular raiz de polinomio e converter para [http://www.mat.ufrgs.br/~dago/metnum/raiz.mws latex]. |
+ | * Exemplo de arquivo Maple para resolver [http://www.mat.ufrgs.br/~dago/metnum/sistemas.mws 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) | function [c]=mandelbrot(Total) | ||
c=(rand()-0.5+%i*(rand()-0.5))*3 | c=(rand()-0.5+%i*(rand()-0.5))*3 | ||
Linha 68: | 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== | ||
+ | |||
+ | * [http://www.mat.ufrgs.br/~dago/num.php Página de Numérico], Apostila, listas de exercícios e material extra. | ||
+ | * [http://euler.mat.ufrgs.br/~guidi/grad/MAT01169/Laminas.Introducao_Scilab.pdf Introdução ao Scilab], prof. Leonardo Guidi. | ||
+ | * [http://www-num.math.uni-wuppertal.de/~ehrhardt/SB/Ue_PraMa/scilab/doc/html/intro/index.html Intro to Scilab]. | ||
+ | * [[Análise Numérica:Livros]] | ||
==Softwares== | ==Softwares== | ||
Linha 77: | Linha 221: | ||
*[http://www.geogebra.org/cms/ Geogebra] | *[http://www.geogebra.org/cms/ Geogebra] | ||
*[http://www.mat.ufrgs.br/~dago/metnum/modellus4.exe Modellus 4.01] | *[http://www.mat.ufrgs.br/~dago/metnum/modellus4.exe Modellus 4.01] | ||
+ | |||
+ | ===Links para instalar Latex:=== | ||
+ | Veja como instalar o [[Latex]]: | ||
+ | |||
+ | *[http://www.miktex.org MikTex] | ||
+ | *[http://www.winedt.com WinEdt] | ||
+ | |||
+ | *[http://pages.cs.wisc.edu/~ghost/ GhostScript] | ||
+ | *[http://pages.cs.wisc.edu/~ghost/gsview/index.htm GhostView] | ||
+ | *[http://www.adobe.com Adobe Acrobat] |
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: