Mes*_*sop 11 matlab matlab-figure
我有一些用Matlab编写的程序,由于某些原因我需要运行几次(调试,使用不同的输入进行测试等等)
但是,有很多图形由程序及其各种函数绘制,因此每次运行程序时,我都要等待所有图形显示,这非常烦人且耗时(特别是当你是使用小型笔记本电脑).程序执行后,我用a关闭它们close all.
所以我的问题是:
有没有办法在Matlab中禁用所有绘图/图形/图形?在选项中,或通过执行某些代码disable plot,enable plot以确保没有显示数字.
我知道我可以浏览代码并评论绘图部分,但我不想忘记取消注释.
ely*_*ely 13
尝试两个命令的某种组合:
set(gcf,'Visible','off') % turns current figure "off"
set(0,'DefaultFigureVisible','off'); % all subsequent figures "off"
Run Code Online (Sandbox Code Playgroud)
第二个,如果你把它放在你的程序的开头附近,可能会为你做的伎俩.当然,它仍然在创建绘图,这对于计算时间和/或RAM问题可能是不合需要的.
这是一个可以避免使用Matlab的经典理由.它助长了糟糕的编程设计.要正确解决这个问题,您应该创建一些东西,让您在程序的最高级别"翻转开关",并控制是否显示图表.也许它甚至具有显示/不显示选项的渐变,因此您可以选择不同类型的图表,这些图表根据您正在运行的诊断程序显示/不显示.
理想情况下,您希望这个"翻转开关"创建成为可以访问其他对象的可见性和绘图功能的类.但是因为在Matlab中交互式面向对象是如此繁琐,所以开发这样的解决方案通常不值得,而且大多数人从项目一开始就不考虑这个设计方面.
Matlab会鼓励有人通过制作像"isPlotVisible"之类的标志变量来解决这个问题,并创建始终接受这些标志的函数.我同意这是一个糟糕的设计.