Sie sind auf Seite 1von 1

function [t x y] = rungeKutta4(a,b,yo,hstep)

t(1) = a;
y(1) = yo;
x(1) = 1000;
nmax = ceil((b-a)/hstep);
f = inline('9.81-0.0026875*v^2','t','v')
bayrak=1;
bayrak2=1;
for i=1:nmax
t(i+1) = t(i)+hstep;
k1 = feval(f,t(i),y(i));
k2 = feval(f,t(i)+0.5*hstep,y(i)+0.5*hstep*k1);
k3 = feval(f,t(i)+0.5*hstep,y(i)+0.5*hstep*k2);
k4 = feval(f,t(i)+hstep,y(i)+hstep*k3);
y(i+1) = y(i)+1/6*hstep*(k1+2*k2+2*k3+k4);
x(i+1) = x(i)-y(i)*hstep;
if(bayrak ==1)
if (y(i+1)-y(i)<0.00001)
c=y(i);
d=t(i);
bayrak =0;
end
if(bayrak2==1)
if-0.001< x(i) < 0.001
e=t(i);
bayrak2=0;
end
end
end
end
disp('Terminal Hz');
disp(c);
disp('Terminal Hza ulama sresi');
disp(d);
disp('Paratnn yere arpma zaman');
disp(e);
figure(1);
plot(t,y);
xlim([0 b]);
grid;
figure(2);
plot(t,x);
grid;
[t x y];

Das könnte Ihnen auch gefallen