从Python调用Matlab函数

时间:2016-11-01 10:15:57

标签: python matlab function os.system

我试图从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"')

logaritmic函数获取2个变量,文件夹位置和logaritmic coefficent。 当我运行这个脚本matlab运行时,我可以得到输出,但错误。如果我在function.m脚本中更改输入(3),代码可以正常工作。问题是输入错误。现在我的错在哪里,为什么matlab得到了' 3'错误或没有得到? 我该怎么办?

3 个答案:

答案 0 :(得分:0)

我绝对不是一个matlab人,但我认为你不能从命令行将参数传递给你的函数(logaritmic)。

This forum post可以提供帮助。

干杯

查理

答案 1 :(得分:0)

如果logaritmic是你的功能,那么正确的呼叫应该是

logaritmic("C:/xampp/htdocs/img/resim.jpg",3)

这假设logaritmic有两个参数。显然你现在需要在Python中正确地转义字符串。

答案 2 :(得分:0)

问题是matlab将输入作为字符串。因此代码运行错误。为了解决这个问题,可以改变logaritmic函数。例如' 3' string可以使用x = str2num(str)方法在function.m脚本中转换为整数。