Спасибо Oro777 за указание в правильном направлении. Вот решение, которое я придумал. После создания фигуры, к которой я хочу применить эту функциональность, я добавляю
z = zoom;
z.ActionPostCallback = {@ZoomPostCallback,app};
z.Enable = 'on';
, где ZoomPostCallback равен
function ZoomPostCallback(~,evd,app)
%Pull new x axes limits and apply them to app edit fields
xLim = evd.Axes.XLim;
app.TimeMinsEditField.Value = round(xLim(1),2);
app.TimeMaxsEditField.Value = round(xLim(2),2);
%Pull new y axes limits and apply them to app edit fields
yLim = evd.Axes.YLim;
app.FreqMinHzEditField.Value = round(yLim(1));
app.FreqMaxHzEditField.Value = round(yLim(2));
%Run changesAxes to ensure all other fields are updated
changeAxes(app)
end
. Это работает очень хорошо. Надеюсь, что это может помочь кому-то еще в будущем. Все это на самом деле препятствует тому, чтобы zoom имел функции до и после обратного вызова.