簡體   English   中英

從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上運行時,我可以得到輸出,但錯誤地。 如果我在function.m腳本中更改了input(3),則代碼可以正常工作。 問題是輸入錯誤。 現在我的錯在哪里,為什么matlab錯誤地得到“ 3”還是沒有得到? 我該怎么辦?

我絕對不是Matlab專家,但是我認為您不能從命令行將參數傳遞給函數(對數)。

該論壇帖子可能會有所幫助。

干杯

查理

如果對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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM