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