web-dev-qa-db-ja.com

Jupyter NotebookでMATLAB関数を作成するにはどうすればよいですか?

概要概要

Jupyter Notebookで MATLABカーネル を使用しています。別の.mファイルに保存されている関数を参照するのではなく、ノートブックに関数を記述したいと思います。問題は、そうしようとするとエラーが発生することです。

エラー:このコンテキストでは、関数定義は許可されていません。

視覚的な例:

新しいノートブックでは、次の図のようになります。

enter image description here

これで、新しい.mファイルを作成しても機能します。

enter image description here

次に、ノートブックを介して関数を呼び出します。

enter image description here

しかし、これは不便です。 Jupyter Notebook内から直接関数を定義する方法はありますか?

私のソフトウェア

  • MATLAB 2017b
  • ウィンドウズ10
  • クロームで実行されているJupyter
  • アナコンダ経由でインストールされたJupyter
10
splinter

documentation は、魔法を使用できることを示しています。

%%file name_of_your_function.m

例を挙げると、セルは次のように記述する必要があります。

%%file fun.m

function out = fun(in)
    out = in + 1;
end

これにより、fun.mという名前の新しいファイルが作成されます。これにより、MATLABは必要なこと(別のファイル内の関数)を実行でき、JupyterNotebookに関数を直接書き込むこともできます。

12