#matlab #matlab-figure
#matlab #matlab-рисунок
Вопрос:
В моей программе я решаю задачу оптимизации с наименьшим квадратом, т. Е. sum_{i} (y_{i}-y_{i}^{market})^2
. В то же время я хочу построить смоделированное y_{i}
против y_{i}^{market}
. Чтобы запрограммировать его в соответствии с моими потребностями, я определяю OutputFcn
во время своей оптимизации и пишу код следующим образом: (Предположим, x
представляют x-coord
figure()
hold on
plot(x,[y_{1},y_{2},...,y_{n}]);
plot(x,[y_{1}^{market},y_{2}^{market},...,y_{n}^{market}]);
Когда я запускаю программу, я могу нарисовать новые вычисленные кривые на том же графике. К сожалению, окончательный график сложно просмотреть. Чтобы сделать его видимым для чтения, я хочу удалить кривую (вычисленные значения), полученную на предыдущей итерации, и построить новую кривую (вычисленные значения) на новой итерации на существующем графике. Что я должен сделать с текущим кодом, чтобы удовлетворить мои потребности?
Комментарии:
1. Это не похоже на обычный синтаксис matlab. Вы используете какой-то специальный набор инструментов?
Ответ №1:
Что-то вроде:
hold on
for iterations
clf
% PLOT STUFF
drawnow
pause(0.1)
end
clf
очищает рисунокdrawnow
принудительное рисование на экранеpause
ненадолго останавливает выполнение, чтобы у вас было время его просмотреть.