2010-07-26 64 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