// - - - - - - - - - - - - - - - - - - - - - - - - - - // // Problema del perro persiguiendo a su dueño // - Se calcula y grafica la trayectoria del perro // * Otros parametros del problema son: // * Posicion inicial del perro (x,y) = (0,0) // * Velocidad del perro (Vp) = 10ms // * El dueño se mueve siguiendo una circunferencia de radio 100 metros y centro en (0,0) // * Posicion inicial del dueño (XD, YD) = (0,100) // * Posicion del dueño en el instante t es (XD, YD) = (100*sin(omega*t),100*cos(omega*t) ) // * La velocidad del dueño VD = 5ms // * Tiempo inicial y final t0=0 y tf=10s // - El sistema de ecuaciones a resolver es : // Vx= d(xp)/dt = Vp*(XD - xp)/sqrt((XD - xp)^2 + (YD-yp)^2) // Vy = d(yp)/dt = Vp*(YD - yp)/sqrt((XD - xp)^2 + (YD-yp)^2) clear t0 = 0; tf = 3.2; n = 400; delta_t = (tf-t0)/n; t = t0:delta_t:tf; VD = 2; radio = 15; omega = VD/radio; Perro0 = [0 0]'; // Posicion inicial del perro getf('derivada_perro.sci') Perro = ode(Perro0,t0,t,derivada_perro); Dueno = [ radio*sin(omega*t); radio*cos(omega*t)]; // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ // Grafica // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ X = [ Perro(1,:)' Dueno(1,:)']; Y = [ Perro(2,:)' Dueno(2,:)']; plot2d(X,Y,style=[-1,-2],leg="Perro@Dueno")