在Matlab中调用Mathematica的函数

     Matlab与Mathematica都是目前比较好的数学软件,个人感觉Matlab比较偏应用,工程计算方面,而Mathematica比较适合数学推理,,理论比较重,个人最喜欢就是它的二维输入格式,比较切合实际的数学书写。但是在对于外部接口方面,Matlab做得比较好,感觉比较开放。对于Matlab来说比较缺失的是一些比较专业的数学函数,特别是数论的函数,而在这方面恰恰是Mathematica的强项,因此可以在Matlab中调用Mathematica会有很大的益处。还是入正题吧,注意,先说明一下,我的是64位win7操作系统,32位的机器会有个别地方不同,我会特别说明一下。

首先是要作前期的准备

1)在Matlab中调用mex -setup命令,接着会有提示选择编译器(一般装了VS2008或者VS2010都会有提示的)

2) 选择VS的C、C++的编译器安装,完成后提示Done

3)将文件夹(下载链接见http://files.cnblogs.com/Leonhard-E/Matlab_Mathematica_Link.zip)

解压后将文件夹放到Matlab的安装路径下……..MATLAB  ,即可。

 

注意!!!!!!我提供的下载文件夹是针对64位的,所以少了32位的ml32i3m.lib文件的,你可以在Mathematica的安装目录下:
Wolfram ResearchMathematica8.0SystemFilesLinksMathLinkDeveloperKitWindowsCompilerAdditionsMLDev32Lib  找到ml32i3m.lib文件放到Matlab_Mathematica_Link文件夹即可,而其他所需要的文件都和64位没有区别,因此不必再添加其他文件。

 

LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL关于存放路径的问题LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

事实上可以通过Matlab_Mathematica_Link文件夹内的mathrun.m文件来自定义Matlab_Mathematica_Link的存放路径,只要将mathrun.m文件中的

addpath C:SoftwareMATLABMatlab_Mathematica_Link;

mlpath=’C:SoftwareMATLABMatlab_Mathematica_Link’;

mllib=’C:SoftwareMATLABMatlab_Mathematica_Linkml64i3m.lib’; (注意32位的话是:ml32i3m.lib)

修改一下即可,当然也可以将Matlab_Mathematica_Link重命名,

 

有了上述的准备后就可以运行,
1)打开Matlab,找到在Matlab_Mathematica_Link文件夹,Matlab中运行mathrun.m文件(即对文件右键选Run)

 

2) 可以在Matlab调用Mathematica函数(具体格式看testscript.m或ReadMe2)

 

3) 提示选择.exe文件,找到Mathematica安装目录下的MathKernel.exe或Math.exe文件

 

最后总结一下,在Matlab_Mathematica_Link文件夹下的ReadMe2文件,我在前人的基础上写了一小部分中文注释,希望对大家有用。其实这个文件夹是Mathworks开发出来的,而且是最新的,之前在 上找到的都是比较早期的,所以没有采用。

我的Matlab版本是最新的R2012a,Mathematica 也是最新的8.0.4 ,所以应该不用担心版本的问题,应该都能正常调用的。

详细的调用语法都在ReadMe2文件中,大家可以仔细参详,这里就不详细讨论了

 

LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL待                     续LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

相关资源:求解偏微分方程的数学软件Fastflo-教育工具类资源

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年6月3日
下一篇 2015年6月4日

相关推荐