愚かで単純な質問 - gcf
in matlab の値は常にアクティブな図の図番号になりますか? つまり、図 5 に取り組んでいる場合、常に?gcf
が返されます。5
3 に答える
GCFは「現在の図」のハンドルを返します。これは常にアクティブなフィギュアのフィギュア番号です。ただし、その間に別の図をクリックすると、その別の図がアクティブになります。したがって、 を呼び出してハンドルを 5 に強制したか、 を呼び出しfigure(5)
てハンドルを変数にキャプチャしたために、どの Figure を使用しているかが既にわかっている場合は、必要なときにいつでもfh=figure;
ハンドルを使用する代わりにハンドルを使用する方が安全です。gcf
誤って別の図をアクティブにする危険を避けるために、図を変更します。
また、現在開いている図がない場合はgcf
、新しい図を開きます。
これは、単純な「はい」または「いいえ」の答えよりも少し複雑です。現在の Figure のハンドルは通常、Figure ウィンドウの左上に表示される数値と一致しますが、この数値は'NumberTitle'
Figure プロパティ'on'
が(既定)に設定されている場合にのみ表示されます。
もう 1 つの問題は、Figure ハンドルが整数であることが保証されていないことです。Figure用に作成されたハンドルが整数か再利用不可能な実数かを決定する'IntegerHandle'
Figure プロパティがあります。このプロパティが に設定されて'off'
いる場合、整数ではないハンドル値を取得するため、最初に開いた Figureのハンドルは 1 になりません。次に例を示します。
>> hFigure = figure('IntegerHandle','off') %# The only window open
hFigure =
173.0040
また、図にはそれに応じて番号が付けられています。
図の番号とハンドルが表示される場合、数値が丸められることに注意してください。Figure ウィンドウには、小数点以下 6 桁のみが表示されます。コマンド ウィンドウの形式を変更して小数点以下の桁数を増やすと、浮動小数点数を扱っていることが明らかになります。
>> format long
>> hFigure
hFigure =
1.730040283203125e+002
この場合、表示される図形番号と図形ハンドルが若干異なります。
はい、gcf
現在選択されている (またはアクティブな) Figure のハンドルを返します。ドキュメントから、
H = GCF は、現在の Figure のハンドルを返します。現在の Figure は、PLOT、TITLE、SURF などのグラフィックス コマンドが描画されるウィンドウです。
ただし、次のことも覚えておいてください。
現在の Figure は、必ずしも画面の最前面の Figure ではありません。
Figure を「最新」にする 1 つの方法は次のとおりです。
Figure 内に含まれる uimenu および uicontrols をクリックするか、Figure の描画領域をクリックすると、その Figure が現在の状態になります。
もう 1 つの方法は、Figure ハンドルを使用することです。つまり、Figure を として呼び出した場合h=figure;
、 はそれfigure(h)
を現在の Figure にします。