Предположим, у меня есть матрица nx3 (в этом примере 100x3), где каждый столбец представляет координату x, y, z в некотором дискретном образце времени в 3d. Я хочу использовать функцию animatedLine для отслеживания координат с максимум 10 точками в данный момент времени. Я использую документацию Matlab, но все еще придерживаюсь того, как это сделать правильно.Matlab: Анимированная Линия в 3d
Нужно ли предварительно определить сетку или может ли Matlab автоматически делать это с учетом данных? (Для этого примера, матрица является случайной, однако, в самом наборе данных, матрица известна)
A = rand(100, 3)
x = A(:, 1);
y = A(:, 2);
z = A(:, 3);
grid on;
h = animatedline('MaximumNumPoints', 10);
for k = 1:length(x)
addpoints(h,x(k),y(k),z(k));
drawnow
end
В чем проблема, с которой вы сталкиваетесь? Ваш код кажется, что он должен работать отлично, за исключением того, что ваш 'MaximumNumPoints' должен быть, вероятно, 100. – Suever
@Suever Мой график находится в 2d, и ничего не отображается. Я изменил его на 100, все еще не работает. – Sagistic
Уверены ли вы, что у вас есть 3D-просмотр? 'Вид (3)'? Работает отлично для меня: http://i.imgur.com/LUsv1EV.gif – Suever