Buscar

pvi CODIGO

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

function F=f(y,t)
F=[y(2);-9.8*sin(y(1))]
endfunction
function [y,t]=euler(f,ti,yi,h,N)
 t=(ti:h:ti+N*h)'
 y=yi
 for i=1:N
 y(:,i+1)=y(:,i)+h*f(y(:,i),t(i))
 end
endfunction
function [y,t]=eulermelhorado(f,ti,yi,h,N)
 t=(ti:h:ti+N*h)'
 y=yi
 for i=1:N
 ymeio=y(:,i)+h/2*f(y(:,i),t(i))
 y(:,i+1)=y(:,i)+h*f(ymeio,t(i)+h/2)
 end
endfunction
function [y,t]=predicao(f,ti,yi,h,N)
 t=(ti:h:ti+N*h)'
 y=yi
 for i=1:N
 k1=f(y(:,i),t(i))
 k2=f(y(:,i)+h*k1,t(i)+h)
 y(:,i+1)=y(:,i)+h*k1/2+h*k2/2
 end
endfunction
function [y,t]=runge4(f,ti,yi,h,N)
 t=(ti:h:ti+N*h)'
 y=yi
 for i=1:N
 k1=f(y(:,i),t(i))
 k2=f(y(:,i)+h*k1/2,t(i)+h/2)
 k3=f(y(:,i)+h*k2/2,t(i)+h/2)
 k4=f(y(:,i)+h*k3,t(i)+h)
 y(:,i+1)=y(:,i)+h/6*(k1+2*k2+2*k3+k4)
 end
endfunction
function [y,t]=adams2(f,ti,yi,h,N)
 [y,t]=runge4(f,ti,yi,h,2)
 t=(ti:h:ti+N*h)'
 for i=2:N
 y(:,i+1)=y(:,i)+h/2*(3* f(y(:,i),t(i)) - f(y(:,i-1),t(i-1)) )
 end
endfunction
function [y,t]=adams3(f,ti,yi,h,N)
 [y,t]=runge4(f,ti,yi,h,3)
 t=(ti:h:ti+N*h)'
 for i=3:N
 y(:,i+1)=y(:,i)+h/12*(23* f(y(:,i),t(i)) -16* f(y(:,i-1),t(i-1)) +5* f(y(:,i-2),t(i-2)))
 end
endfunction
function [y,t]=adams4(f,ti,yi,h,N)
 [y,t]=runge4(f,ti,yi,h,4)
 t=(ti:h:ti+N*h)'
 for i=4:N
 y(:,i+1)=y(:,i)+h/24*(55* f(y(:,i),t(i)) -59* f(y(:,i-1),t(i-1)) +37* f(y(:,i-2),t(i-2)) -9 *f(y(:,i-3),t(i-3)) )
 end
endfunction

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando