[英]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上運行時,我可以得到輸出,但錯誤地。 如果我在function.m腳本中更改了input(3),則代碼可以正常工作。 問題是輸入錯誤。 現在我的錯在哪里,為什么matlab錯誤地得到“ 3”還是沒有得到? 我該怎么辦?
如果對logaritmic
是您的函數,則正確的調用應如下所示
logaritmic("C:/xampp/htdocs/img/resim.jpg",3)
這假設對logaritmic
有兩個參數。 顯然,您現在需要在Python中正確轉義該字符串。
問題是matlab以字符串形式獲取輸入。 因此代碼運行錯誤。 為了解決該問題,可以改變對數函數。 例如,可以使用x = str2num(str)方法在function.m腳本中將'3'字符串轉換為整數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.