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

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

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

  • Установите свойства источника данных нанесенного на график объекта (такие как свойство 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

Обновление графика с использованием свойств 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

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

| | |

Похожие темы