如何在Jupyter Notebook中编写Matlab函数?

spl*_*ter 9 matlab function ipython jupyter-notebook

概观

我在Jupyter Notebook中使用Matlab内核.我想在笔记本中编写一个函数,而不是引用另一个.m文件中保存的函数.问题是,当我尝试这样做时,我收到错误:

错误:在此上下文中不允许使用函数定义.

视觉示例:

在新的笔记本中,它看起来如下图:

在此输入图像描述

现在,如果我创建一个新.m文件,它确实有效:

在此输入图像描述

然后通过笔记本调用then函数:

在此输入图像描述

但这很不方便.有没有办法直接在Jupyter Notebook中定义函数?

我的软件

  • Matlab 2017b
  • Windows 10
  • 跑在镀铬物的Jupyter
  • Jupyter通过anaconda安装

小智 11

我在这里找到的文档表明,一种方法是在定义函数之前添加如下行:

%%file name_of_your_function.m
Run Code Online (Sandbox Code Playgroud)

举个例子,你的单元格应该写成如下:

%%file fun.m

function out = fun(in)
    out = in + 1;
end
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它确实需要matlab正常工作(单独文件中的函数),但是这种语法允许您直接在Jupyter Notebook中编写函数.