Во-первых, вот некоторые тестовые переменные, чтобы начать с, в том числе ускорение силы тяжести:
g = 9.8; %// m/s^2
v0 = 2; %// m/s
alpha = pi/6; %// Radians
h = 30; %// Start at 30 metres
t_final = 4.5; %// Seconds
t_vector = 0 : 0.01 : t_final;
t_vector
в последней строке кода не создает вектор точек из начального времени t = 0
вплоть до наших время окончания с шагом 0,01. С учетом этого наша задача состоит в том, чтобы пройти каждый из этих точек в нашем векторе и построить наш шар. Далее, давайте создавать анонимные функции для каждого x
и y
, чтобы сделать наше черчения проще:
x = @(t) v0*cos(alpha)*t;
y = @(t) h + v0*sin(alpha)*t - 0.5*g*t.^2;
Что вы можете делать дальше использовать for
петли и пройти каждое значение t_vector
вплоть до t_final
и построить индивидуальную точку. Вы, вероятно, следует сделать пункт большой, так что мы можем увидеть, что мяч выглядит следующим образом:
close all;
figure; hold on;
for t = t_vector
plot(x(t), y(t), 'b.', 'MarkerSize', 16);
axis([0 t_final 0 h]);
pause(0.01);
end
Приведенный выше код будет первым закрыть все цифры, мы имеем открытое, породит новую figure
и использовать hold on
так, что мы можем назвать plot
несколько раз и добавлять точки к графику, не стирая каждый раз. Затем для каждого момента времени мы определяем местоположение на графике как синюю точку, а затем делаем размер точки 16. Мы также следим за тем, чтобы ось автоматически не корректировала себя, применяя значения x
между t = 0
до t = t_final
. Мы также ограничиваем значения y
от y = 0
до начальной начальной высоты, что составляет 30 в моем примере. В каждой точке мы останавливаемся на 0,01 мс, чтобы вы могли видеть рисунок точек.
В качестве бонуса, это то, что эта цифра выглядит как анимированные gif
:
Для более более продвинутую версию с помощью численного интегрирования с обнаружения событий, см [ 'ballode'] (HTTP: //www.mathworks.com/help/matlab/math/ordinary-differential-equations.html?refresh=true#f1-669698). Введите 'edit ballode' в свое командное окно. Вам нужно немного настроить анимацию в соответствии с вашими потребностями. – horchler