Ciao,
ho da poco iniziato a studiare Matlab e ho svolto il seguente problema: "Disegnare il grafico di un corpo in caduta libera lasciato cadere da un altezza h e con una velocità v. Dire inoltre quanto tempo impiega per cadere a terra e di quanto si è spostato sull'asse delle ascisse."
Il problema è che faccio un processo troppo lungo per disegnare il grafico con le y>=0. Volevo chiedervi quindi come si potesse ottimizzare il codice.
Grazie
codice:%Corpo in caduta libera %Quanto tempo impiega a cadere a terra? %Quanto si sposta in orizzontale prima di cadere a terra? disp('Moto parabolico') h=input('Inserie l''altezza di partenza: ') v=input('Inserire la velocità: ') g=9.81; t=[0:0.01:100]; x=v*t; y=h-1/2*g*t.^2; [w,p]=min(abs(y)); %w è il valore, mentre p è la posizione di quando il corpo tocca il suolo disp('Tempo per cadere a terra in secondi: ') disp(t(p)) disp('Distanza percorsa orizzontalmente prima di cadere a terra: ') disp(v*t(p)) { t1=[0:0.01:t(p)]; x1=v*t1; y1=h-1/2*g*t1.^2; } le variabili all'interno delle graffe sono inutili, ma non riesco a capire come fare a non usarle plot(x1,y1); xlabel('Spostamento orizzontale [m]'); ylabel('Spostamento verticale [m]'); title('Moto di caduta libera');