"未定义的变量" py"或班级"什么时候尝试从MATLAB R2014b加载Python?

时间:2016-05-11 04:01:59

标签: python matlab

def c1(a1,b1):
    a1=2
    b1=3
    cc=a1+b1
    return cc

我已将此功能保存在test.py中。当我在MATLAB中使用此函数时,我遇到了这个问题:

import py.test.* c1(2,3)
Undefined function 'c1' for input arguments
of type 'double'.
  py.test.c1(2,3)
Undefined variable "py" or class
"py.test.c1".

如何在MATLAB R2014b中使用.py函数?

2 个答案:

答案 0 :(得分:2)

如果您收到以下错误消息,则表示发生了故障。

  

未定义的变量“py”或类

这里可能存在许多错误,Mathworks实际上已经设置了whole tutorial来解决此问题。 (页面的标题实际上是:未定义的变量“py”或函数“py.command”,所以它应该包含你需要的大部分内容)

查看以下内容:

  • 未安装Python
  • Windows平台上的64位/ 32位Python版本
  • MATLAB找不到Python
  • 用户定义的Python模块中的错误
  • Python模块不在Python搜索路径上
  • 模块名称冲突
  • Python尝试在错误的模块中执行命令

答案 1 :(得分:1)

从Matlab开始2014b可以直接调用Python函数 - 使用前缀py,然后使用模块名称,最后使用函数名称,如下所示:

result = py.module_name.function_name(parameter1);

但是,必须确保在从Matlab调用时将脚本添加到Python搜索路径中(特别是如果第一次调用Python时,当前工作目录与Python脚本不同。

在我发布的video中查看更多详情。