Автоматическое обновление графика после изменяющихся данных

Когда вы отображаете данные на графике из переменных рабочей области, графики содержат копии переменных. В результате, если вы заменяете переменную рабочей области (те, которые добавляют или удаляют данные), графики автоматически не обновляются. Если вы хотите график отразить изменение, необходимо повторно построить его. Однако можно использовать один из этих методов, чтобы соединить графики с переменными рабочей области, которые они представляют. Когда вы соединяете графики и переменные рабочей области, изменение данных в одном месте также изменяет его в другом.

  • Используйте данные, соединяющиеся, чтобы соединить график с переменными рабочей области.

  • Установите свойства источника данных нанесенного на график объекта (такие как XDataSource свойство) к именам переменных рабочей области. Затем вызовите refreshdata функционируйте, чтобы обновить свойства данных косвенно. Можно использовать этот метод, чтобы создать анимации.

Обновите график Используя соединение данных

Данные, соединяющиеся, сохраняют графики постоянно синхронизируемыми с переменными рабочей области, которые они изображают.

Например, итеративно аппроксимированный pi. Создайте переменную x представлять номер итерации и y представлять приближение. Постройте начальные значения x и y. Включите данные, соединяющие использование linkdata on так, чтобы график обновился, когда переменные изменяются. Затем обновление x и y в цикле for. График обновляется в полувторых интервалах.

x = [1 2];
y = [4 4];
plot(x,y);
xlim([0 100])
ylim([2.5 4])
xlabel('Iteration')
ylabel('Approximation for \pi')

linkdata on

denom = 1;
k = -1;
for t = 3:100
    denom = denom + 2;
    x(t) = t;
    y(t) = 4*(y(t-1)/4 + k/denom);
    k = -k;
end

Line plot after animation

Обновление графика с использованием свойств Data Source

Вместо того, чтобы использовать функцию соединения данных, можно сохранить график синхронизируемым с переменными рабочей области путем установки свойств источника данных нанесенного на график объекта. Можно использовать этот метод, чтобы создать анимации.

Например, итеративно аппроксимированный pi. Создайте переменную x2 представлять номер итерации и y2 представлять приближение. Постройте начальные значения x2 и y2. Соедините график с переменными рабочей области путем установки свойств источника данных нанесенного на график объекта к 'x2' и 'y2'. Затем обновление x2 и y2 в цикле for. Вызвать refreshdata и drawnow каждая итерация, чтобы обновить график на основе обновленных данных.

x2 = [1 2];
y2 = [4 4];
p = plot(x2,y2);
xlim([0 100])
ylim([2.5 4])
xlabel('Iteration')
ylabel('Approximation for \pi')

p.XDataSource = 'x2';
p.YDataSource = 'y2';

denom = 1;
k = -1;
for t = 3:100
    denom = denom + 2;
    x2(t) = t;
    y2(t) = 4*(y2(t-1)/4 + k/denom);
    refreshdata
    drawnow
    k = -k;
end

Line plot after animation

Смотрите также

| | |

Похожие темы