2013-04-07 3 views
1

Я хочу построить одну половину положительной увеличивающейся половины движения снаряда, проходящего через заданную координату по оси y, скажем до вершины средней точки или среднего значения движения. Например, указав координаты, начиная с (0,0) до (1000,150), и только положительная половина кривой построена, так как другая половина будет симметричной. Вершина первой половины кривой касается (1000, 150). Может кто-нибудь, пожалуйста, напишите код для этого. Благодарю вас.Генерировать движение снаряда, задавая координаты

+1

Может быть, если это тип домашнего задания проблема вам нужна t o пометить его как таковой. Также принято считать, что вы пытаетесь решить свою проблему (продвигаемый пост или пример) и понимаете, что вопросы типа «Do my work for me» могут быть закрыты. Пожалуйста, прочитайте [FAQ] (http://meta.stackexchange.com/q/10811/152388) – ja72

+0

Это вопрос программирования или физический вопрос. Вы читали о [actionile motion] (http://en.wikipedia.org/wiki/Projectile_motion#Parabolic_trajectory) и знаете, как команда 'plot' работает в' MATLAB'? – ja72

+0

Это и проблема с программированием и движением снарядов, и я не знаю ни одного из них. Я не мог найти тег homeowork, иначе я бы сделал то же самое. – user1142671

ответ

4

Так что вы ищете квадратичной кривой

h(t) = a + b t + c t^2 

Такое, что он проходит через точки (0,0) и (x,y):

0 = a     # -> a = 0 
y = a + b x + c x^2 # -> y = x (b + c x) 

Вы также хотите, наклон кривой

h'(t) = b + 2 c t 

быть нулевым на вершине (x,y)

0 = b + 2 c x   # -> b = -2 c x 

Следовательно, у вас есть

y = x (-2 c x + c x) # -> c = -y/x^2 

Так код, который вы хотите,

x = 1000; 
y = 150; 
a = 0; 
c = -y/x^2; 
b = -2*c*x; 

t = 0:x; 
h = a + b*t + c*t.^2; 

plot(t,h) 
grid 

Что дает этот сюжет:

enter image description here

+0

Благодарим вас за подробное объяснение. Однако, когда я построил с точным кодом как ваш, ось Y в моем случае просто пошла на 80, что странно, как в программе, она упоминается как 150. Так что, независимо от того, что я упоминаю для оси Y, график делает никогда не задумывайтесь до этой координаты! В чем может быть проблема? – user1142671

+0

Извините, ошибка в моем коде. Исправлено! –