愚蠢的,简单的问题 - matlab中gcf
的值总是会成为活动数字的数字?即,如果我正在处理图5,gcf
总是会返回5
吗?
答案 0 :(得分:8)
GCF返回“当前数字”的句柄。这始终是活动图的图号。但是,如果在此期间单击其他图形,则其他图形将变为活动状态。因此,如果你已经知道你正在使用什么数字,因为你要么通过调用figure(5)
强制句柄为5,要么因为你通过调用fh=figure;
来捕获变量中的句柄,所以更安全只要你想修改数字就可以使用句柄代替gcf
,以避免无意中使另一个数字处于活动状态。
此外,如果当前没有数字打开,gcf
将打开一个新数字。
答案 1 :(得分:5)
这比简单的“是”或“否”答案稍微复杂一些。 current figure 的句柄通常与图窗口左上角显示的数字匹配,但只有'NumberTitle'
figure property设置为{{1时才会显示此数字(默认)。
另一个问题是数字句柄不能保证是整数。有'IntegerHandle'
figure property确定为该图创建的句柄是整数还是不可重用的实数。如果此属性设置为'on'
,则会获得非整数的句柄值,因此您打开的第一个数字将的句柄为1.例如:
'off'
该数字相应编号:
请注意,当显示图号和句柄时,会有一些数字的四舍五入。图形窗口仅显示小数点后6位数。很明显,当你change the format of the Command Window显示更多小数位时,你正在处理浮点数:
>> hFigure = figure('IntegerHandle','off') %# The only window open
hFigure =
173.0040
在这种情况下,显示的图号和图形句柄略有不同。
答案 2 :(得分:3)
是的,gcf
将返回当前所选(或活动)数字的句柄。从文档中,
H = GCF返回当前数字的句柄。目前 图是PLOT等图形命令的窗口, TITLE,SURF等将绘制。
但请记住:
目前的数字不一定是最重要的数字 屏幕。
使数字成为“当前”的一种方法是:
点击图中包含的uimenus和uicontrols, 或点击图形的绘图区域导致 想成为现在。
另一种方法是使用数字句柄。即,如果您将该数字称为h=figure;
,那么figure(h)
将使其成为当前数字。