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 Research\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\MLDev32\Lib 找到ml32i3m.lib文件放到Matlab_Mathematica_Link文件夾即可,而其他所需要的文件都和64位沒有區別,因此不必再添加其他文件。
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL關於存放路徑的問題LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
事實上可以通過Matlab_Mathematica_Link文件夾內的mathrun.m文件來自定義Matlab_Mathematica_Link的存放路徑,只要將mathrun.m文件中的
addpath C:\Software\MATLAB\Matlab_Mathematica_Link;
mlpath='C:\Software\MATLAB\Matlab_Mathematica_Link';
mllib='C:\Software\MATLAB\Matlab_Mathematica_Link\ml64i3m.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
