Когда вы отображаете данные на графике из переменных рабочей области, графики содержат копии переменных. В результате, если вы заменяете переменную рабочей области (те, которые добавляют или удаляют данные), графики автоматически не обновляют. Если вы хотите график отразить изменение, необходимо повторно построить его. Однако можно использовать один из этих методов, чтобы соединить графики с переменными рабочей области, которые они представляют. Когда вы соединяете графики и переменные рабочей области, изменение данных в одном месте также изменяет его в другом.
Используйте данные, соединяющиеся, чтобы соединить график с переменными рабочей области.
Установите свойства источника данных нанесенного на график объекта (такие как свойство 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
Вместо того, чтобы использовать функцию соединения данных, можно сохранить график синхронизируемым с переменными рабочей области путем установки свойств источника данных нанесенного на график объекта. Можно использовать этот метод, чтобы создать анимации.
Например, итеративно аппроксимированный 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
brush
| linkaxes
| linkdata
| refreshdata