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

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

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

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

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

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

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

x = [1 2];
y = [4 4];
plot(x,y);
xlim([0 ntimes])
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

Update Plot Using Data Source Properties

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

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

x2 = [1 2];
y2 = [4 4];
p = plot(x2,y2);
xlim([0 ntimes])
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

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

| | |

Похожие темы

Была ли эта тема полезной?