从 Python 调用 Matlab 函数
Calling Matlab function from Python
我正在尝试从 Python 代码中 运行 matlab 函数。为此,我编写了这个简单的代码:
#!C:/Python3/python.exe
import os
os.chdir("C:/xampp/cgi-bin/")
os.system('matlab -r "logaritmic C:/xampp/htdocs/img/resim.jpg ,3"')
对数函数获取 2 个变量,文件夹位置和对数系数。
当我 运行 这个脚本 matlab 运行s 时,我可以得到输出但是错误的。如果我更改 function.m 脚本中的输入 (3),代码将正常工作。问题是输入错误。现在我的错误在哪里,为什么 matlab 错误地得到“3”或没有得到?
我必须做什么?
我绝对不是 matlab 专家,但我认为您不能从命令行向您的函数 (logaritmic) 传递参数。
This forum post 可以提供帮助。
干杯
查理
如果 logaritmic
是你的函数,正确的调用应该是这样的
logaritmic("C:/xampp/htdocs/img/resim.jpg",3)
这假设 logaritmic
有两个参数。显然,您现在需要正确转义 Python.
中的字符串
问题是 matlab 将输入作为字符串获取。所以代码运行错误。为了解决这个问题,可以改变对数函数。例如,可以使用 x = str2num(str) 方法在 function.m 脚本中将 '3' 字符串转换为整数。
我正在尝试从 Python 代码中 运行 matlab 函数。为此,我编写了这个简单的代码:
#!C:/Python3/python.exe
import os
os.chdir("C:/xampp/cgi-bin/")
os.system('matlab -r "logaritmic C:/xampp/htdocs/img/resim.jpg ,3"')
对数函数获取 2 个变量,文件夹位置和对数系数。 当我 运行 这个脚本 matlab 运行s 时,我可以得到输出但是错误的。如果我更改 function.m 脚本中的输入 (3),代码将正常工作。问题是输入错误。现在我的错误在哪里,为什么 matlab 错误地得到“3”或没有得到? 我必须做什么?
我绝对不是 matlab 专家,但我认为您不能从命令行向您的函数 (logaritmic) 传递参数。
This forum post 可以提供帮助。
干杯
查理
如果 logaritmic
是你的函数,正确的调用应该是这样的
logaritmic("C:/xampp/htdocs/img/resim.jpg",3)
这假设 logaritmic
有两个参数。显然,您现在需要正确转义 Python.
问题是 matlab 将输入作为字符串获取。所以代码运行错误。为了解决这个问题,可以改变对数函数。例如,可以使用 x = str2num(str) 方法在 function.m 脚本中将 '3' 字符串转换为整数。