% PME3201 Laboratório de Simulações Numéricas % Aula 01 % % Cotia, 20.08.2021 % Walter Ponge-Ferreira % Integração Numérica % Exemplo de equação exponencial % % dx/dt = lambda x % h = 1; Xo = 1; lambda = 1; % definição de função inline pop = @(t,x) (lambda*x) % Solução Exata tt = [0:0.01:10]; xx = Xo*exp(lambda*tt); % Implementação do Método de Euler Explícito t = [] x = [] x(1) = Xo; t(1) = 0; for i =1:10, x(i+1) = x(i) + pop(t(i),x(i))*h; t(i+1) = t(i) + h; end plot(t,x,'*',tt,xx) grid shg pause(1) % Reduzindo o passo de integração h = 0.01; for i=1:1000, x(i+1) = x(i) + pop(t(i),x(i))*h; t(i+1) = t(i) + h; end plot(t,x,'*',tt,xx) grid shg pause(1) % Integração Numérica pelo Método de Runge-Kutta de 2 e 3 ordem % implementação da biblioteca de funções do Octave help ode23 [t,x] = ode23(pop,[0,10],1); plot(t,x,'*',tt,xx) grid shg pause(1) % Solução do Modelo "presa-predador" de Lokta-Volterra clear clc alpha = 0.1 beta = 2.0 gamma = 4.0 delta = 0.4 % Uso da função inline pop = @(t,x) ([alpha;gamma].*[x(1)*x(2);x(2)] + [-beta;-delta].*[x(1);x(1)*x(2)]) [t,x] = ode23('pop',[0,10],[1;1]); plot(t,x) pause(1) % Uso da função externa pop.m clear clc [t,x] = ode23('pop',[0,10],[1;1]); plot(t,x) pause(1) % FIM shg