簡體   English   中英

Matlab與python通訊的最佳方法

[英]Optimal way of matlab to python communication

因此,我正在研究必須與Python腳本進行一些通信的Matlab應用程序。 調用的腳本是一個簡單的客戶端軟件。 附帶說明一下,如果可以讓Matlab客戶端和Python服務器進行通信,則可以完全解決此問題,但是我還沒有找到解決該問題的方法。

無論如何,在網上搜索后,我發現了兩種調用Python腳本的方法,一種是通過system()命令, 一種是編輯perl.m文件以調用Python腳本。 這兩種方法都過於緩慢,但( tic他們tocing到> 20毫秒,而且必須比6ms的運行速度更快),因為這調用會在一個循環,這是非常敏感的時間。

作為解決方案,我認為我可以將文件保存在某個位置,並讓我的Python腳本連續檢查該文件,並在找到執行該命令的文件時對其進行檢查。 現在,在對每個步驟進行計時並總結之后,我發現它的運行速度快得令人難以置信(幾乎可以快100倍,因此可以肯定足夠快了),我無法相信,或者我無法理解為什么調用python腳本這么慢(不是那樣)我不僅對這個主題有膚淺的了解)。 我還發現此解決方案確實很麻煩而且很丑陋,所以只想檢查一下,首先,這是一個好主意,其次,是否有更好的主意?

最終,我意識到Python的time.time()和Matlab tictoc可能不夠精確,無法在該范圍內正確地測量時間,這也是我問的原因。

啟動Python解釋器的新實例需要一段時間。 如果您一次旋轉解釋器並重新使用它,則此費用僅支付一次,而不是每次運行。

這是正常的(預期的)行為,因為啟動包括大量的分配和導入。 例如,在我的機器上,啟動時間為:

$ time python -c 'import sys'

real    0m0.034s
user    0m0.022s
sys     0m0.011s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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