まず、エディットボックスを複数行にするには、テキストボックスの "max" uicontrol プロパティを変更します。
uicontrol プロパティの ’max' の値と 'min' の値に関して、
MAX - MIN > 1
であれば、テキストボックスに複数行入力することが可能です。
MAX - MIN <= 1
の場合はテキストボックスには1行しか入力することができません。
"max" プロパティは、 GUIDE からとコマンドラインからどちらからでも変更できます。
1. GUIDE から変更する方法
1) エディットテキストをダブルクリックしてプロパティインスペクタを起動
2) MAX の値を設定したい行数に変更
2. コマンドライン、あるいはスクリプトで変更する方法
SET コマンドを以下の文法で使用します。
set(h_edit,'Max',N);
ここで h_edit はテキストボックスのハンドルで、N は MAX 値として設定したい値を指定します。
注意点:テキストボックスが1行の場合と複数行の場合、コールバックの実行のされ方が異なります。
次に、テキストボックス内のテキストをコマンドとして評価する方法は、二通りあります。
1. EVALMCW コマンドを使用する方法
MATLAB コマンドウィンドウ上で
evalmcw(h_edit)
と実行します。h_edit はテキストボックスのハンドルです。
(なお、EVALMCW コマンドは、ドキュメント化されていない関数です)
2. FOR ループを使用する方法
以下のように実行します。
s = get(h_edit,'string'); % h_edit はテキストボックスのハンドル
[row, column] = size(s);
for i = 1:row
eval(s{i,:}) % 各行を MATLAB コマンドプロンプトで評価
end