FreeMatの他にもScilabやGNU Octaveなどフリーの数値解析ソフトウェアは数多くある(MATLABは有償)。これらのソフトウェアが持たず、FreeMatのみがもつ有益な機能が、今回紹介する「GUI構築機能」である(MATLABはもちろん本機能はある)。
MATLABには、「GUIDE」というGUI構築機能があるが、FreeMatにはまだない。そうはいってもGUIDEはGUIのオブジェクトの配置を決定することだけが有益であり、コマンドのuicontrolで如何様にも対応できる。
例えば以下のコマンドをFreeMatのコマンドライン上で実行できるであろうか。
--> uicontrol('style','edit','string','0','position',[10 50 300 40])
このuicontrolというコマンドにてエディットボックスができる。以下にGUI構築の簡単な例を示す。2つのm-ファイルに分けて実行してみよう。
(test_gui.m)
h_e=uicontrol('style','edit','string','0','position',[10 50 300 40]);
h_s=uicontrol('style','slider','position',[10 150 300 40],'max',10);
a=[h_s,h_e];
h_b=uicontrol('style','pushbutton','position',[10 250 50 40],'string','push','callback','aaa(a)')
(aaa.m)
function aaa(a)
h_s=a(1)
h_e=a(2)
a=get(h_s,'value');
set(h_e,'string',num2str(a));
上記の図が実行結果である。
スライダーを動かし、ボタンを押すとそのときのスライダーバーの値をエディットボックスに返す(スライダーは0~10の値をもつ)。
このようにオブジェクトの管理の仕方もMATLABと同じであり、非常に便利である。この例に関して質問のある方はコメントまで。
0 件のコメント:
コメントを投稿