matlab语句中有这么一句hold_was_on = ishold;表示什么意思啊,求解答!!!
答案:2 悬赏:50 手机版
解决时间 2021-03-24 15:48
- 提问者网友:相思似海深
- 2021-03-23 18:20
matlab语句中有这么一句hold_was_on = ishold;表示什么意思啊,求解答!!!
最佳答案
- 五星知识达人网友:荒野風
- 2021-03-23 18:27
在matlab里面画图的时候,有两种模式:
(1)增加模式:保持现有的图,继续画;可以使用hold on命令,进入这种模式;
(2)替换模式:清空现有的图,重新画;可以使用hold off命令,进入这种模式。
如果是hold on状态,你先画一条横线,再画一条竖线,那么最终的结果是一横一竖两条线(横线之后增加了竖线);如果是hold off状态,你先画一条横线,再画一条竖线,那么最终的结果是一条竖线(竖线替换了横线)。
回到你的程序:
hold on;
plot(center(1),center(2),varargin{:});
在新的plot之前,使用hold on;命令,意思是在原有的图上继续画。
但是这样做,太简单粗暴了,改变了画图的方式。
如果有一天,你的同事或者同学拿到了你的代码,并且要进行修改。
在没有细看的情况下,他把你这段代码插入到一段需要保持hold off状态的代码之中,就难免会发生错误。
因此,最好能够在画图时,保持hold状态。
因此,在画图之前,检测并记住hold状态,保存在变量hold_was_on之中。
hold_was_on = ishold;
其中ishold是一个内置函数,可以返回当前的hold状态。
在画图之后,根据之前记录的结果,恢复之前的hold状态。
if (~hold_was_on) hold off; end
最后,建议你学会查阅matlab文档,可以在command window中查阅相关命令的使用方法。
help hold
help ishold
(1)增加模式:保持现有的图,继续画;可以使用hold on命令,进入这种模式;
(2)替换模式:清空现有的图,重新画;可以使用hold off命令,进入这种模式。
如果是hold on状态,你先画一条横线,再画一条竖线,那么最终的结果是一横一竖两条线(横线之后增加了竖线);如果是hold off状态,你先画一条横线,再画一条竖线,那么最终的结果是一条竖线(竖线替换了横线)。
回到你的程序:
hold on;
plot(center(1),center(2),varargin{:});
在新的plot之前,使用hold on;命令,意思是在原有的图上继续画。
但是这样做,太简单粗暴了,改变了画图的方式。
如果有一天,你的同事或者同学拿到了你的代码,并且要进行修改。
在没有细看的情况下,他把你这段代码插入到一段需要保持hold off状态的代码之中,就难免会发生错误。
因此,最好能够在画图时,保持hold状态。
因此,在画图之前,检测并记住hold状态,保存在变量hold_was_on之中。
hold_was_on = ishold;
其中ishold是一个内置函数,可以返回当前的hold状态。
在画图之后,根据之前记录的结果,恢复之前的hold状态。
if (~hold_was_on) hold off; end
最后,建议你学会查阅matlab文档,可以在command window中查阅相关命令的使用方法。
help hold
help ishold
全部回答
- 1楼网友:大漠
- 2021-03-23 20:07
以便恢复plot前hold状态追问不是特别懂,可以具体一点嘛,谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯