You are on page 1of 4

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMERICA)

E.A.P INGENIERÍA MECÁNICA DE FLUIDOS

TAREA N° 3

CURSO:
Flujo No Permanente
TEMA:
Codificar el programa en Matlab
PROFESOR:
Ing. William, Chauca Nolasco
ALUMNO:
Gilio Sotelo Kevin Yonatan 16130043

2020
Codificar el programa en Matlab
program rk4
real,dimension(100)::v,z
real::nt,w,L,f,D
real:: kz1,kv1,kz2,kv2,kz3,kv3,kz4,kv4
real,parameter::g=9.81
real,parameter::tf=9,dt=0.1
open(unit=16, file='resultados.dat',status='unknown')
L=1.14854
f=0.0217165
D=0.00465
w=sqrt(2.*(g/L))
nt=tf/dt+1.
v(1)=0.
z(1)=0.18
do j=2,nt
kz1=dt*(v(j-1))
kv1=-dt*(f/(2.*D)*v(j-1)*abs(v(j-1))+(w**2)*z(j-1))
kz2=dt*(v(j-1)+kv1/2.)
kv2=-dt*(f/(2.*D)*(v(j-1)+kv1/2.)*abs(v(j-1)+kv1/2.)+(w**2)*(z(j-1)+kz1/2.))
kz3=dt*(v(j-1)+kv2/2.)
kv3=-dt*(f/(2.*D)*(v(j-1)+kv2/2.)*abs(v(j-1)+kv2/2.)+(w**2)*(z(j-1)+kz2/2.))
kz4=dt*(v(j-1)+kv3)
kv4=-dt*(f/(2.*D)*(v(j-1)+kv3)*abs(v(j-1)+kv3)+(w**2)*(z(j-1)+kz3))
v(j)=v(j-1)+(kv1+2*kv2+2*kv3+kv4)/6.
z(j)=z(j-1)+(kz1+2*kz2+2*kz3+kz4)/6.
enddo
print*," Tiempo-s Z-m V-m/s"
write(16,99)
99 format(" Tiempo-s Z-m V-m/s")
do j=1,nt
print 100,(j-1)*dt,z(j),v(j)
write(16,100) (j-1)*dt,z(j),v(j)
enddo
100 format(F12.3,F8.3,F8.3)
end program rk4
Codificando a Matlab
clear all
clc
g=9.81;
tf=9;
dt=0.1;
L=1.14854;
f=0.0217165;
D=0.00465;
w=sqrt(2*(g/L));
nt=tf/dt+1;
v(1)=0;
z(1)=0.18;
for j=2:nt
kz1=dt*(v(j-1));
kv1=-dt*(f/(2*D)*v(j-1)*abs(v(j-1))+(w^2)*z(j-1));
kz2=dt*(v(j-1)+kv1/2);
kv2=-dt*(f/(2*D)*(v(j-1)+kv1/2)*abs(v(j-1)+kv1/2)+(w^2)*(z(j-
1)+kz1/2));
kz3=dt*(v(j-1)+kv2/2);
kv3=-dt*(f/(2*D)*(v(j-1)+kv2/2)*abs(v(j-1)+kv2/2)+(w^2)*(z(j-
1)+kz2/2));
kz4=dt*(v(j-1)+kv3);
kv4=-dt*(f/(2*D)*(v(j-1)+kv3)*abs(v(j-1)+kv3)+(w^2)*(z(j-1)+kz3));
v(j)=v(j-1)+(kv1+2*kv2+2*kv3+kv4)/6;
z(j)=z(j-1)+(kz1+2*kz2+2*kz3+kz4)/6;
end
fprintf('\n Tiempo-s Z-m V-m/s \n')
for j=2:nt
t(j)=(j-1)*dt;
fprintf('\n %6.1f %10.4f %10.4f \n ',t(j),z(j),v(j))
end
figure (01)
plot(t,z,'b')
legend('posicion')
xlabel('tiempo')
ylabel('posicion')
figure (02)
plot(t,v,'b')
legend('velocidad')
xlabel('tiempo')
ylabel('velocidad')
Resultados

You might also like