Jupyter Notebookで MATLABカーネル を使用しています。別の.m
ファイルに保存されている関数を参照するのではなく、ノートブックに関数を記述したいと思います。問題は、そうしようとするとエラーが発生することです。
エラー:このコンテキストでは、関数定義は許可されていません。
新しいノートブックでは、次の図のようになります。
これで、新しい.m
ファイルを作成しても機能します。
次に、ノートブックを介して関数を呼び出します。
しかし、これは不便です。 Jupyter Notebook内から直接関数を定義する方法はありますか?
documentation は、魔法を使用できることを示しています。
%%file name_of_your_function.m
例を挙げると、セルは次のように記述する必要があります。
%%file fun.m
function out = fun(in)
out = in + 1;
end
これにより、fun.m
という名前の新しいファイルが作成されます。これにより、MATLABは必要なこと(別のファイル内の関数)を実行でき、JupyterNotebookに関数を直接書き込むこともできます。