Introduction
Matlab可以调用Python自定义函数,但似乎这个函数还不太好用。这里介绍两种调用方式供参考。
Example
自定义的Python函数:
1 2 3 4 5 6 7 8 9 | import sys def squared(x): y = x * x return y if __name__ == '__main__': x = float(sys.argv[1]) sys.stdout.write(str(squared(x))) |
第一种方式,应用python(这是M函数)函数,该函数来源请见参考文献[2]、[3]。
1 2 3 4 5 6 | % Method One result=python('sqd.py', '5'); disp('Method One'); fprintf('Variable result returns %s ', result); fprintf('with the type of %s.\n', class(result)); disp('-------------------------------------'); |
第二种方式,应用system函数。
1 2 3 4 5 | % Method Two disp('Method Two'); [~, cmdout]=system('python sqd.py 5'); fprintf('Variable cmdout returns %s ', cmdout); fprintf('with the type of %s.\n', class(cmdout)); |
以上两种方式返回结果完全一致。Matlab调用方法选择任意一种方式,请仔细核对参数传递过程中的对应关系,正确对应才会返回理想结果。File.rar.
References
[3] python函数参考Adrian的回复.
No comments:
Post a Comment