2015-10-10 4 views
-4

У меня есть координаты исходного положения (x, y). Я должен двигаться на фиксированном расстоянии R от этой точки под случайным углом между 0-360 градусов. Как это сделать в MATLAB.Создать координату на основе случайного угла от исходной координаты в MATLAB

Я не собираюсь строить это, а просто создаю новую координату.

enter image description here

ответ

1
angle = 360*rand; % random angle between 0-360 
[xv,yv] =pol2cart(angle*pi/180,R); % convert polar coordinates to cartersian 
% add vector (xv, yv) to original coordinates 
x2 = x + xv; 
y2 = y + yv; 
+1

Если у вас нет доступа к Mapping Toolbox, вы можете использовать 'angle * pi/180' вместо' deg2rad (angle) '. –

+0

спасибо! это сработало отлично! –

+0

@JeffIrwin Спасибо Я включил ваше предложение .. – gregswiss

-2

Это едва MATLAB вопрос

x2 = x1 * соз (тета) y2 = y1 * грех (тета)

если ваш тета в градусах, затем используйте sind и cosd

+2

** Random ** ... ключ ... ** random ** – rayryeng