para mandar

2
clear all clc disp('-------------------------------------') disp('METODO DE RUNGE KUTTA 4TO ORDEN') disp(' PARA SISTEMA DE ECUACIONES') disp('-------------------------------------') syms x y1 y2 D=input('ingrese el D : '); F=input('ingrese las EDO en vectores : '); y=input('valores iniciales dependientes yi : '); x=input('valor inicial xi : '); xf=input('valor final xf : '); h=input('tamaño de paso : '); F=inline(F); Re=0; disp('---------------------------------------------------------------- ----------------------') fprintf(' iter tiempo Z V Zm+1 Vm+1 Re') fprintf('\ n--------------------------------------------------------------------- -------------------\n') for i=1:xf/h k1=F(y(1),y(2)); k2=F(y(1)+k1(1)*(h/2),y(2)+k1(2)*(h/2)); k3=F(y(1)+k2(1)*(h/2),y(2)+k2(2)*(h/2)); k4=F(y(1)+k3(1)*h,y(2)+k3(2)*h); Z(i)=y(1)+(1/6)*(k1(1)+2*(k2(1)+k3(1))+k4(1))*h; V(i)=y(2)+(1/6)*(k1(2)+2*(k2(2)+k3(2))+k4(2))*h; Re=D*abs(V(i))/(10^-6); fprintf('%10.0f %10.3f %10.4f %10.4f %10.4f %10.4f %10.0f\ n',i,x,y(1),y(2),Z(i),V(i),Re) y=[Z(i) V(i)]; x=x+h; end

Upload: miguel-huamani

Post on 16-Jan-2016

212 views

Category:

Documents


0 download

DESCRIPTION

XXXX

TRANSCRIPT

Page 1: Para Mandar

clear allclcdisp('-------------------------------------')disp('METODO DE RUNGE KUTTA 4TO ORDEN')disp(' PARA SISTEMA DE ECUACIONES')disp('-------------------------------------')syms x y1 y2D=input('ingrese el D : ');F=input('ingrese las EDO en vectores : ');y=input('valores iniciales dependientes yi : ');x=input('valor inicial xi : ');xf=input('valor final xf : ');h=input('tamaño de paso : ');F=inline(F);Re=0;disp('--------------------------------------------------------------------------------------')fprintf(' iter tiempo Z V Zm+1 Vm+1 Re')fprintf('\n----------------------------------------------------------------------------------------\n')for i=1:xf/h k1=F(y(1),y(2)); k2=F(y(1)+k1(1)*(h/2),y(2)+k1(2)*(h/2)); k3=F(y(1)+k2(1)*(h/2),y(2)+k2(2)*(h/2)); k4=F(y(1)+k3(1)*h,y(2)+k3(2)*h); Z(i)=y(1)+(1/6)*(k1(1)+2*(k2(1)+k3(1))+k4(1))*h; V(i)=y(2)+(1/6)*(k1(2)+2*(k2(2)+k3(2))+k4(2))*h; Re=D*abs(V(i))/(10^-6); fprintf('%10.0f %10.3f %10.4f %10.4f %10.4f %10.4f %10.0f\n',i,x,y(1),y(2),Z(i),V(i),Re) y=[Z(i) V(i)]; x=x+h;end

Page 2: Para Mandar