MATLAB: пустые участки при циклическом построении многомерного массива - PullRequest
1 голос
/ 05 мая 2019

Моя цель вывода - отображение четырех графиков (время, dist_a), (время, speed_a), (время, dist_b) и (время, speed_b) при циклическом просмотре многомерного массива.Тем не менее, я отображаю только 2 пустых графика.

Вот мой код:

time = rand(10, 1)
dist_a = rand(10,1)
dist_b = rand(10,1)
speed_a = rand(10,1)
speed_b = rand(10,1)

dist = cat(2, dist_a, dist_b);
speed = cat(2, speed_a, speed_b);

for k = 1:2
figure;
plot(time, dist(k));
plot(time, speed(k));
end

1 Ответ

1 голос
/ 05 мая 2019

Ваши проблемы были двойными.Во-первых, вы строили только одну точку, а не вектор, изменяя, например, dist(k) на dist(:,k), это исправляет это.Во-вторых, если вам нужны четыре цифры с циклом, который выполняется дважды, вам нужно добавить еще одну команду figure перед вторым графиком.Следующее должно делать то, что вы просили, я также добавил в некотором форматировании, чтобы графики выглядели лучше

for k = 1:2
    figure
    plot(time, dist(:,k),'o','LineWidth',2);
    xlabel('time')
    ylabel('distance')
    box on
    grid on

    figure
    plot(time, speed(:,k),'o','LineWidth',2);
    xlabel('time')
    ylabel('speed')
    box on
    grid on
end

, что дает:

enter image description here

...