有没有办法将结果或数据(如矩阵)从Matlab导入到Mathematica 自动?或者有没有办法先运行Matlab程序,然后自动运行Mathematica程序 ?
感谢您提供任何有用的答案!
答案 0 :(得分:5)
至少有三种方法可以解决这个问题:
'通过'Java,使用Mathematica的JLink和Matlab自己的Java功能。
可以从命令行运行任一程序,执行脚本并根据需要返回输出。两个程序都可以运行“外部”命令并捕获结果。例如,请查看“外部程序”标题下的Mathematica文档。 Matlab具有类似的功能。
如果您在Linux或类似操作系统上运行,则可以将一个程序的输出传输到另一个程序。
这些方法的困难各不相同。
答案 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,看看哪些符合您的需求。