MATLAB の Live Editor でインタラクティブな処理してみた。


はじめに

そういえば、MATLAB の Live Editor って使っていますか?コードの記述やグラフ表示なんかを一つの環境でできちゃうってアレですよね。Jupyter Notebook みたいな。よくよく見てみると、対話型のコントロールもついてるみたい。インタラクティブな処理ってできるのかなと試してみました。あまり使用方法の詳細が載っていない、ボタンチェックボックス に焦点をあててみました。

実行環境

MATLAB (R2019a) のみ!

結論から

先にポイントとなるところだけ書いておきますね。1点だけですが。

  • コードは非表示で

コントロールの外観

Live Editor を開いたら、[挿入] → [コントロール] でコントロールを選びます。

こんな感じで。ボタン はこのセクションを実行するだけの機能です。

それぞれの設定はこんな感じ。

コントロール以外のコード

コントロール以外のコードは以下のようにしました。
変数 TF はライトを照らすかどうか、h はライトをどちら側から照らすかになります。

testLight.mlx
close all
% 数式の描画
r = @(u,v) 2 + sin(7.*u + 5.*v);
funx = @(u,v) r(u,v).*cos(u).*sin(v);
funy = @(u,v) r(u,v).*sin(u).*sin(v);
funz = @(u,v) r(u,v).*cos(v);
fsurf(funx,funy,funz,[0 2*pi 0 pi]) 

% LightのON/OFF
if(TF)
    camlight(h)
end

さあ実行してみよう

ポイントは、[表示] → [コードを非表示] でコードを非表示にしておくことですかね。

結果

こんな感じになりました