はじめに
そういえば、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