2010-07-26 111 views
1

有沒有辦法將perl數組返回給MATLAB?或者我只需要返回一個字符串並解析它?我正在使用MATLAB調用perl腳本來連接MySQL數據庫。在得到查詢結果後,我想將它傳回給MATLAB。返回perl數組到MATLAB

編輯:我使用perl.m的修改版本來調用perl腳本。它調用安裝了DBI的perl版本,而不是MATLAB附帶的副本。

我改變perl.m線65從

perlCmd = fullfile(matlabroot, 'sys\perl\win32\bin\'); 

perlCmd = 'C:\Perl64\'; 
+0

請包括一些關於如何在Matlab和Perl之間進行接口的代碼。 – Ether 2010-07-26 16:19:32

+0

我使用Matlab的內置perl.m文件。它只是對perl進行dos調用並返回結果。 – Doresoom 2010-07-26 16:31:47

+1

是否有任何特殊原因需要使用perl? 使用JDBC與MySQL的MATLAB連接更容易,它將所有查詢結果直接返回到MATLAB工作區。 – Adrian 2010-07-27 09:48:00

回答

1

你怎麼呼喚你的Perl腳本?如果您只是在進行系統調用,那麼您只能返回字符串輸出。

你可以看看包裹在一個MEX文件您的電話,或寫.MAT從您的perl文件,但我懷疑字符串分析可能會更容易,特別是對於小數組

編輯

思考我在一個類似的情況做了一次(必須將數據傳輸到MATLAB)是生成一個用於創建MATLAB矩陣的.m文件,即

array = [ 
      1, 2, 3; 
      4, 5, 6; 
     ]; 

,並保存到磁盤。當程序結束時,我只需簡單地調用m文件即可將數據存入工作區

+0

我對perl有很少的經驗,並且有更多的MATLAB經驗,所以我寧願在我熟悉的環境中完成大部分編程。 – Doresoom 2010-07-26 16:02:39

+0

我們在談論多大(ish)數組?是通過字符串不可行? – second 2010-07-26 16:11:10

+0

我的查詢返回可能高達幾千個數據點。我不認爲這應該是一個問題,但我還沒有看到性能。 – Doresoom 2010-07-26 16:17:32