Matlab - variable tiempo

 
Vista:

variable tiempo

Publicado por nakis (2 intervenciones) el 25/06/2007 22:18:40
Estoy llevando los minutos jugados por unos jugadores en una variable t. El problema es que el ordenador trabaja en modo decimal, y yo los datos se los tengo que meter con minutos y segundos, es decir, yo le meto por pantalla 15.4, y necesito que me lo identifique como 15 minutos y 40 segundos, y no como 15 minutos y 0.4 partes de un minuto. Mas que nada porque si sumo 15.5+2.2 quiero que el resultado sea 18.1 y no 17.7
¿ Hay alguna manera de que el programa reconozca esa variable de forma que los decimales los vea como segundos?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:variable tiempo

Publicado por Julian (75 intervenciones) el 26/06/2007 00:09:11
Bueno, pues como lo planteas creo que no, aunque no estoy seguro... pero aquí propongo una forma de solucionar ese problema, lo pruebas y me cuentas si te funciona...

Hay que utilizar dos funciones DATENUM y DATESTR. Aquí va un ejemplo:

% En la siguiente sentencia lo que hacemos es convertir la fecha a un número serial
% para luego sumarlo. Los tres primeros 00, indican dia, mes y año. Los he dejado así % para evitar problemas a la hora de sumar. 15 indica las horas, 50 los minutos y 00 los % segundos. 'a1' contiene el tiempo jugado por la persona a.

a1=datenum(00, 00, 00, 15, 50, 00);

% 'a2' contiene otro tiempo jugado por la persona a.

a2=datenum(00, 00, 00, 02, 20, 00);

% Ahora se suman los dos tiempos.

a = a1+a2;

% Se visualiza el total de tiempo jugado por la persona a.

tjugado = datestr(a,13)

Si necesitas usarlo como función, este código te facilita la construcción de dicha función, cualquier cosa me comentas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:variable tiempo

Publicado por nakis (2 intervenciones) el 26/06/2007 00:35:27
Bueno, primero muchas gracias por la ayuda. Creo que me puede llegar a servir, aunque todavía tengo un problema. imaginate que por pantalla pedimos el tiempo de la siguiente forma.
c=input('tiempo de juego en el que se realiza el cambio');

e imaginemos que escribimos 15.50 . Pues bien, ahora lo que necesito es poder extraer la parte entera a una variable y la parte decimal a otra. Me imagino que esto será una chorrada, pero es que no me se casi ninguna orden de matlab, porque yo aprendí a programar en c++ y el fortran, así que si me puedes decir como hacerlo te lo agradezco.

Leí algo de una orden " floop", pero la verdad es que no entendí nada bien la explicación.

De todas formas, por si hay alguna opción más sencilla te escribo aquí la parte del programa en el que uso el tiempo. La historia es facil, en un equipo de futbol sala, cuando hay un cambio, se apunta ese cambio, y se suma a los jugadores que estaban jugando el tiempo que llevan jugando.( el cronometro va en cuenta atras).

t=20
if m==2
clc;
g=0;
while g==0

a=input('dorsal del jugador que ENTRA:');
b=input('dorsal del jugador que SALE:');
fprintf('El minuto del último cambio fue t=%g \n',t);
c=input('Introduce el minuto actual de juego:');
fprintf('¿Entra el dorsal %g y sale el dorsal %g en el minuto %g? \n',a,b,c);
disp('SI=1 , NO=0');
g=input('');
end
for i=1:12
if M(i,1)==1
M(i,4)=M(i,4)+t-c; %aqui se almacena el tiempo jugado de los
end %jugadores que estan jugando
end
M(a,1)=1;
M(b,1)=0;
t=c;

Gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:variable tiempo

Publicado por Julian (75 intervenciones) el 26/06/2007 01:35:46
Bien, quisiera que me explicaras unas partes del código que has hecho del programa, por ejemplo, porque inicializas t en 20, que función cumplen las variables 'm' y 'M' y cual es la razón de que el bucle for sea de 12 pasos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:variable tiempo

Publicado por nakis (4 intervenciones) el 26/06/2007 09:55:30
Si quieres te mando el código completo por mail. Le meto comentarios para que lo entiendas mejor. Está hecho un poco a lo bestia, pero bueno.

Voy a meter los comentarios y te lo mando a tu cuenta de gmail.
Yo soy [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:variable tiempo

Publicado por Julian (75 intervenciones) el 27/06/2007 01:30:32
Hola! ya te he respondido a tu correo.

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:variable tiempo

Publicado por nakis (4 intervenciones) el 27/06/2007 15:33:49
Muchas gracias, problema solucionado, y con creces.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar