从 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' 字符串转换为整数。