从MATLAB调用Python函数

从MATLAB调用Python函数,python,matlab,Python,Matlab,可能重复: 我需要从环境中调用Python函数。可能吗 假设我有以下Python代码: def squared(x): y = x * x return y 如何从MATLAB工作区/代码调用平方(3)并得到9?我以前从未这样做过,因此其他人必须提供“真实”答案,但是 我可以提供这个 我经常在Linux机器上从MATLAB调用shell,并用感叹号>>!{comm} 所以我想你可以有一个调用python的shell脚本,然后从MATLAB调用这个脚本 wbg我以前从未做过这件

可能重复:

我需要从环境中调用Python函数。可能吗

假设我有以下Python代码:

def squared(x):
    y = x * x
    return y

如何从MATLAB工作区/代码调用平方(3)并得到9?

我以前从未这样做过,因此其他人必须提供“真实”答案,但是 我可以提供这个

我经常在Linux机器上从MATLAB调用shell,并用感叹号>>!{comm} 所以我想你可以有一个调用python的shell脚本,然后从MATLAB调用这个脚本


wbg

我以前从未做过这件事,所以其他人必须提供一个“真实”的答案,但是 我可以提供这个

我经常在Linux机器上从MATLAB调用shell,并用感叹号>>!{comm} 所以我想你可以有一个调用python的shell脚本,然后从MATLAB调用这个脚本


wbg

Adrian在中提出了一种方法:。我试过了。我生成了一个squared.py代码,将其保存在C:\New中,打开perl.m文件,在代码中用python替换perl一词,将其名称更改为python.m,并将其保存在C:\New中。Matlab向我显示错误命令:???使用==>python时出错82系统错误:“python”未被识别为内部或外部命令、可操作程序或批处理文件。已执行命令:python squared.py 2如何修复它?Adrian在中建议了一个方法:。我试过了。我生成了一个squared.py代码,将其保存在C:\New中,打开perl.m文件,在代码中用python替换perl一词,将其名称更改为python.m,并将其保存在C:\New中。Matlab向我显示错误命令:???使用==>python时出错82系统错误:“python”未被识别为内部或外部命令、可操作程序或批处理文件。已执行命令:python squared.py 2如何修复它?刚刚尝试了这个,我可以确认它是有效的。如果要将结果存储在变量中,请使用类似于x=evalc(“!python hello.py”)。。。您可能必须为python指定路径,因为您在PC上,不确定。酷…从未使用过evalc(),将查找它。我将在()中放置一个内嵌python函数?我也没有使用它,只是查找它,看看如何从命令行返回参数。。。我不知道你所说的“我会在()中放置一个内嵌函数”是什么意思?你好,wbg和Jeff,谢谢你的回复。不幸的是,我仍然收到错误消息:S。我想我在提供路径名时犯了错误。你能提供更详细的描述吗?如果我将平方函数(即原始帖子中编写的程序)保存在一个名为squared.py的代码中,我如何从Matlab workspace调用它?@Nazmul我不确定,它在mac上只能与“python”一起工作,但在PC上可能类似!c:\location\of\python.exe squared.py。。。谷歌!对于Matlab,我刚刚尝试过这个,我可以确认它是有效的。如果要将结果存储在变量中,请使用类似于x=evalc(“!python hello.py”)。。。您可能必须为python指定路径,因为您在PC上,不确定。酷…从未使用过evalc(),将查找它。我将在()中放置一个内嵌python函数?我也没有使用它,只是查找它,看看如何从命令行返回参数。。。我不知道你所说的“我会在()中放置一个内嵌函数”是什么意思?你好,wbg和Jeff,谢谢你的回复。不幸的是,我仍然收到错误消息:S。我想我在提供路径名时犯了错误。你能提供更详细的描述吗?如果我将平方函数(即原始帖子中编写的程序)保存在一个名为squared.py的代码中,我如何从Matlab workspace调用它?@Nazmul我不确定,它在mac上只能与“python”一起工作,但在PC上可能类似!c:\location\of\python.exe squared.py。。。谷歌!对于matlab