MATLAB App Designer удерживает/выключает предупреждения о выдаче

Я новичок и пытаюсь использовать polarplot и hold on/off в конструкторе приложений MATLAB. Теперь, чтобы использовать это в дизайнере приложений, нам нужно создать полярные оси, вызвав функцию polaraxes в контейнере панели дизайнера приложений.

Я попробовал это, которое отлично работает без каких-либо ошибок:

pax = polaraxes(app.Panel);
polarplot(pax,th1,r1,'red')
hold(app.UIFigure.CurrentAxes,'on');          % warning
polarplot(pax,th2,r2,'green')
hold(app.UIFigure.CurrentAxes,'off');         % warning

Но из-за предупреждений о кодировании приложения я получаю предупреждение Укажите дескриптор UIAxes в качестве первого аргумента для линии удержания. Как решить это предупреждение? Это правильный способ использования hold on/off для контейнера панели?


person Rohit    schedule 02.11.2020    source источник


Ответы (1)


Я мало использовал appdesigner, но я подозреваю, что из-за того, что переменная CurrentAxes пуста, вы получаете предупреждение, поэтому вы можете попытаться указать оси для удержания:

pax = polaraxes(app.Panel);
polarplot(pax,th,r1,'red')
hold(pax,'on');          
polarplot(pax,r2,'green')
hold(pax,'off');  

Или это может сработать (непроверено и не рекомендуется, если это так, всегда рекомендуется передавать фактический дескриптор осей, который вы хотите удерживать, а не тот, который Matlab считает активным)

pax = polaraxes(app.Panel);
polarplot(pax,th,r1,'red')
drawnow()
hold(app.UIFigure.CurrentAxes,'on');          % warning
polarplot(pax,r2,'green')
hold(app.UIFigure.CurrentAxes,'off');         % warning       
person matlabgui    schedule 02.11.2020
comment
Я попытался, и в обоих случаях одно и то же предупреждение все еще существует. - person Rohit; 03.11.2020
comment
можете ли вы обновить свой вопрос, включив в него фактическое предупреждающее сообщение и минимальный объем кода для его воссоздания? - person matlabgui; 03.11.2020