質問: figure ウィンドウをセカンダリのモニタに表示する方法 パソコンに2枚のモニタを接続して作業してます。figure 関数でウィンドウを表示するとプライマリのモニタにウィンドウが表示されます。セカンダリのモニタに figure のウィンドウを表示する方法をご存じの方いましたら、ご教示下さい。
回答: figureの位置とサイズはpositionプロパティで制御できるので、一度figureでウィンドウを出した後、好きな場所に持ってくるのが良いと思います。 私の場合、プライマリウィンドウの上にセカンダリウィンドウを設定しているので、下記figposのようにy座標にプライマリウィンドウのy方向の画素数を上乗せして設定すると、セカンダリウィンドウの真ん中にウィンドウが出るようになります。 いちいちこれを全部入力するのは煩雑ですので、適当な名前で関数化してパスを通しておくと使いやすくなると思います。 % デフォルトとするfigureのサイズ w = 500; h = 500; % ディスプレイサイズの取得 r = groot; dispsize1 = r.monitorpositions(1,3:4); % プライマリ dispsize2 = r.monitorpositions(2,3:4); % セカンダリ % figureのポジションの定義 % [左下座標x 左下座標y 幅 高さ]の順 % 原点はプライマリウィンドウの左下隅 figpos = [dispsize2(1)/2 - w/2, ... dispsize1(2) + dispsize2(2)/2 - h/2, ... w, h]; % ウィンドウを生成してpositionプロパティを変える fig = figure; fig.position = figpos;