Edited at

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


はじめに

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


実行環境

MATLAB (R2019a) のみ!


結論から

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


  • コードは非表示で


コントロールの外観

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

control.jpg

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

edit.jpg

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

properties.jpg


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

コントロール以外のコードは以下のようにしました。

変数 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



さあ実行してみよう

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

aaa.gif


結果

こんな感じになりました:blush:

2019-08-23_10-25-25.gif