有没有办法自动将结果或数据从Matlab导入Mathematica?

时间:2012-03-25 16:06:07

标签: matlab wolfram-mathematica

有没有办法将结果或数据(如矩阵)从Matlab导入到Mathematica 自动?或者有没有办法先运行Matlab程序,然后自动运行Mathematica程序

感谢您提供任何有用的答案!

2 个答案:

答案 0 :(得分:5)

至少有三种方法可以解决这个问题:

  1. '通过'Java,使用Mathematica的JLink和Matlab自己的Java功能。

  2. 可以从命令行运行任一程序,执行脚本并根据需要返回输出。两个程序都可以运行“外部”命令并捕获结果。例如,请查看“外部程序”标题下的Mathematica文档。 Matlab具有类似的功能。

  3. 如果您在Linux或类似操作系统上运行,则可以将一个程序的输出传输到另一个程序。

  4. 这些方法的困难各不相同。

答案 1 :(得分:2)

我偶然发现了这个问题,经过一些尝试,我设法创建了一个适合我的简单算法。

使用以下方法将矩阵保存在Matlab中:

save('m','-v7','a')

m是文件,-v7是版本(有人说它会更好,我不知道)和a是矩阵。我没有一次尝试使用多个矩阵。

然后在mathematica中我用过:

SetDirectory["Desktop"]
a = Import["m.mat"] ;
a=Partition[Flatten[a], 5000]

我将目录设置为m.mat文件的位置并导入它。 在我的情况下,矩阵是5000 * 5000,所以我不得不分成每个5000个元素。 如果您有N * K矩阵,请尝试除以N和K,看看哪些符合您的需求。