Παρακάτω μπορούμε να δούμε τα αποτελέσματα του κώδικα σχετικά με την διαφορά του χρόνου που χρειάζεται το παιδί Α ( τσουλήθρα μορφής y = x ) σε σχέση με τον χρόνο που χρειάζεται το παιδί Β ( τσουλήθρα μορφής y = x² ) για να βρεθούν στο κέντρο του παιδότοπου .
Όπως είναι φανερό ισχύει tA > tB για κάθε ύψος h . Οπότε το παιδί που έχει την τσουλήθρα μορφής y = x² θα κερδίσει το παιχνίδι !
Εδώ μπορούμε να δούμε κάποια αποτελέσματα για N = 1000 σημεία και αρχικό ύψος h = 5m :
Ο κώδικας στο MATLAB είναι :
Spoiler
h = 5; % Αρχικό ύψος
g = 9.81; % Επιτάχυνση βαρύτητας
N = 1000; % Πλήθος σημείων τροχιάς
dx = h/(N-1); % Χωρικό βήμα
x = h: (-dx):0; % Τετμημένες σημείων τροχιάς
y = x.^2/h; % Τεταγμένες σημείων τροχιάς
dy = zeros(1,N-1); % Αποστάσεις τεταγμένων
u = zeros(1,N); % Διάνυσμα ταχυτήτων
dt = zeros(1,N-1); % Διάνυσμα χρονικών διαστημάτων
t = zeros(1,N); % Διάνυσμα συνολικού χρόνου
% Υπολογισμός διαφοράς τεταγμένων
for j = 1: (N-1)
dy(j) = y(j+1) - y(j);
end
d = sqrt( dx^2 + dy.^2); % Υπολογισμός διανύσματος μηκών ευθύγραμμων τμημάτων της τροχιάς
a = (2*g*x)./(sqrt(h^2 + 4*x.^2)); % Υπολογισμός επιταχύνεων σε κάθε σημείο της τροχιάς
for i = 1:N-1
dt(i) = ( -u(i) + sqrt( u(i).^2 + 2*a(i)*d(i) ) ) / a(i) ;
u(i+1) = u(i) + a(i)*dt(i) ;
t(i+1) = t(i) + dt(i);
end
tB = sum(dt) ;
tA = 2*sqrt(h/g) ;
plot(x,y)
hold on
plot(t,y)
hold on
plot(t,x)
hold on
plot(x,a)
hold on
plot(t,a)
hold on
plot(x,u)
hold on
plot(t,u)
hold on
xlabel("x(m) , t(s)")
ylabel("y(m) , x(m) , α(m/s²) , u(m/s)")
legend("y = y(x)","y = y(t)","x = x(t)" , "a = a(x)" , "a = a(t)","u = u(x)","u = u(t)")