clear; vB = 1; l = 1; function dx = boat(t,x) // dx/dt = vx = - vB * x / (x^2 + y^2) dx(1) = - vB * x(1) / sqrt(x(1) ^ 2 + x(2) ^ 2) // dy/dt = vy = vB * y / (x^2 + y^2) + vR dx(2) = - vB * x(2) / sqrt(x(1) ^ 2 + x(2) ^ 2) + b * vB endfunction T = linspace(0,4,50); X0 = [l; 0]; b = 0.1; X = ode(X0, 0, T, boat); plot(X(1,:),X(2,:),'-or'); b = 0.5; X = ode(X0, 0, T, boat); plot(X(1,:),X(2,:),'-og'); b = 0.8; X = ode(X0, 0, T, boat); plot(X(1,:),X(2,:),'-ob'); b = 1.0; X = ode(X0, 0, T, boat); plot(X(1,:),X(2,:),'-om'); b = 1.5; X = ode(X0, 0, T, boat); plot(X(1,:),X(2,:),'-oc'); b = 2; X = ode(X0, 0, T, boat); plot(X(1,:),X(2,:),'-oy'); zoom_rect([0, 0, l, 2]); xlabel("x"); ylabel("y"); legend("b = 0.1","b = 0.5","b = 0.8","b = 1.0","b = 1.5","b = 2.0",1);