Untitled

 avatar
unknown
plain_text
a month ago
1.1 kB
3
Indexable
d = 20000; %[m]

% Funzione per il calcolo del sorpasso
function y = sorpasso(t)
    % Definizione delle velocità
    vA = @(t) 2 * sqrt(t) + cos(t + pi/2); % Velocità A [m/min]
    vB = @(t) sin(t) + 0.5 * t;           % Velocità B [m/min]
    
    % Calcolo delle posizioni come integrali delle velocità
    sA = integral(vA, 0, t); % Posizione di A
    sB = integral(vB, 0, t); % Posizione di B
    
    % Differenza tra le posizioni
    y = sA - sB;
end

% Punto iniziale per la ricerca del sorpasso
t0 = 1; % Minuto iniziale stimato

% Trova il tempo del primo sorpasso
t_sorpasso = fsolve(@sorpasso, t0);

fprintf('Il primo sorpasso avviene a t = %.4f minuti.\n', t_sorpasso);

vA = @(t) 2 * sqrt(t) + cos(t + pi/2); % Velocità A [m/min]
vB = @(t) sin(t) + 0.5 * t;           % Velocità B [m/min]
    
t_totale=t_sorpasso+60;
distA=integral(vA, 0, t_totale);
distB=integral(vB, 0, t_totale);

if distA>distB
    fprintf('Dopo t_tot dal primo sorpasso, auto A in testa\n');
else
    fprintf('Dopo t_tot dal primo sorpasso, auto B in testa\n');
end

fprintf('Macchina A: %.2f meters\n', distA);
fprintf('Macchina B: %.2f meters\n', distB);
Editor is loading...
Leave a Comment