本文根据网上零散的信息以及这三款软件自带的说明文档整理而成,为备忘而记录。记录了Matlab和Maple之间的相互调用,以及Matlab和Mathematica之间相互调用的安装配置方法。

为何需要互操作?        数值计算和图形方面Matlab毫无疑问是最强的,但其符号演算方面就比较弱。

符号运算方面Maple和Mathematica各有千秋。我个人感受:就符号运算本身而言,Mathematica应该比Maple更强,但软件自带工具包的丰富程度,Maple比Mathematica更丰富。此外,Mathematica本身的数值计算能力总体上还是比Maple更强,而Maple的易用性比Mathematica更强。

由上面的优缺点对比,就存在可能会同时使用两款以上的软件,也就存在互操作问题。

本文成功配置的参考环境:        Win7-x86+Matlab2011a+Mathematica8+Maple15+Microsoft Visual Studio 2010

一)在Matlab环境中调用Maple1)确认Matlab和Maple都已经安装。

2) 确认设置环境变量:MATLAB_SYMBOLIC=Maple

3) 安装Maple Toobox for Matlab可以在Maple15安装目录下找到:MapleToolbox.bat 。 运行依向导运行之,并且依次按提示选择Maple和Matlab的安装目录。

4)启动Matlab 并执行命令:toolbox_version,验证Maple工具箱是否安装成功

如果成功,该命令返回: toolbox_version=maple

5)确保Matlab真的会使用Maple符号计算引擎

在Matlab命令行中输入: pathtool , 执行之会弹出一个对话框,下拉到最后,选中最后两个,然后点击左边的”Move to Top“(移动到顶端)按钮,然后选择保存。exit退出matlab,现在设置好了。

6)重启Matlab,验证之:maple(‘discrim(a*x^2+b*x+c,x)’)

int(‘atan(x)/x^(3/2)’,0,1)

syms x

maple(‘solve(x^2*exp(x)-10,x)’)

maple(‘plot(exp(x)*x^2-1, x = -5 .. .5)’)

如果能正确地返回结果,则表明安装配置成功.

二)在Maple环境中调用Matlab1)确认Matlab和Maple都已经安装。

2)确认已将%MATLAB%\bin;%MATLAB%\bin\win32添加到PATH的环境变量中,其中%MATLAB%就是Matlab的安装路径。

3)重新启动Maple,执行如下代码看是否正常

Matlab[setvar]("x",3.14);

Matlab[getvar]("x");

如果能正确地返回结果,则表明安装配置成功.

另:我们可以注意到,随着这个的代码的执行,会自动打开一个Matlab命令行窗口。

如果你愿意的话,可以在这个窗口中输入:x 。查看其结果,看看是否和Maple中的结果一致。

你可以手工启动这个Matlab命令行窗口:   Matlab[openlink]();

你可以通过Matlab[closelink](); 来关闭这个Matlab命令窗口。

三)在Matlab中调用Mathematica1)确认Matlab和Mathematica都已经安装,并且为了编译源代码还要求安装Microsoft Visual Studio

2)确认已将Mathematica的安装目录添加到PATH的环境变量中。

3)下载Mathematica Symbolic Toolbox for MATLAB – Version 2.0       http://library.wolfram.com/infocenter/MathSource/5344/

并将其中的math.zip\mathematica_for_matlab\math_windows.zip\的文件解包到%MATLAB%\toolbox\mathematica目录下,并且删除其中math.dll(因为这个文件太老,可能不适用于当前版本)

4)确定Mathematica中mathlink.h所在的目录,以及ml32i1m.lib所在的目录,比如,对我的系统而言在:

D:\Program\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32\include

D:\Program\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32\lib

将这两个文件复制到%MATLAB%\toolbox\mathematica中 .

修改mathrun.m,将C:\XXX 替换为%MATLAB%\toolbox\mathematica的全路径目录

5)确认Microsoft Visual Studio作为默认编译器:

打开Matlab命令行,执行mex –setup 选择Microsoft Visual Studio作为默认编译器。(建议设置好后退出Matlab)

6)再次打开Matlab命令行,将当前目录切换到%MATLAB%\toolbox\mathematica, 然后运行mathrun.m   ,这个程序将会编译math.c

如果编译成功,确认%MATLAB%\toolbox\mathematica 已被添加到Matlab的Path路径中。

最后运行在Matlab环境下运行测试代码: testscript.m 确认是否配置成功.

另:使用方法直接可参见testscript.m的代码.

四)在Mathematica中调用Matlab1)确认Matlab和Mathematica都已经安装,并且为了编译源代码还要求安装Microsoft Visual Studio

2)下载 mEngine

http://library.wolfram.com/infocenter/MathSource/4821/

将压缩包mEngine.zip\mEngine\mEngineSource中的的文件复制到 D:\Program\Mathematica\8.0\AddOns\Applications\matlab

将压缩包mEngine.zip\mEngine中的的文件mEngine.m和mEngine.nb也复制到 D:\Program\Mathematica\8.0\AddOns\Applications\matlab

3)确认已将%MATLAB%\bin;%MATLAB%\bin\win32添加到PATH的环境变量中,其中%MATLAB%就是Matlab的安装路径。

4)打开Microsoft Visual Studio命令行环境,切换目录cd D:\Program\Mathematica\8.0\AddOns\Applications\matlab5)在Microsoft Visual Studio命令行环境中,设置临时的编译环境(包括MathLink开发环境和Matlab开发环境)SET MATHLINK=D:\Program\Mathematica\8.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32

SET MATENGINE=D:\Program\MATLAB\R2011a\extern

SET PATH=%PATH%;%MATHLINK%\bin\

SET INCLUDE=%INCLUDE%;%MATHLINK%\include\;%MATENGINE%\include\

SET LIB=%LIB%;%MATHLINK%\lib\;%MATENGINE%\lib\win32\microsoft6)在Microsoft Visual Studio命令行环境中,设置编译参数SET CL=/nologo /c /DWIN32 /D_WINDOWS /W3 /O2 /DNDEBUG

SET LINK=/NOLOGO /SUBSYSTEM:windows /INCREMENTAL:no /PDB:NONE kernel32.lib user32.lib gdi32.lib7)在Microsoft Visual Studio命令行环境中, 编译生成mEngine.exeMPREP template.tm -o templatetm.c

CL *.c

LINK *.obj ml32i3m.lib  libeng.lib libmx.lib /OUT:mEngine.exe8)设置mEngine的Mathematica的搜索路径:

在Mathematica中查看$BaseDirectory的值。(我系统中其值为 C:\ProgramData\Mathematica)

然后在$BaseDirectory\Kernel\init.m中添加一行代码, 保存,重启Mathematica .AppendTo[$Path,ToFileName[{$InstallationDirectory,"AddOns","Applications","matlab"}]]9)参考mEngine.nb学习其用法且验证安装是否成功.

另:使用前的加载方法:  << mEngine`

matlab与maple互联,Matlab,Maple和Mathematica三款主流科学计算软件的互操作相关推荐

  1. matlab科学计算软件,数据分析软件 Matlab 科学计算软件 科软网——专业正版软件供应商...

    创建二维图形并自定义线条 向图形添加标题.坐标轴标签和图例 合并多个绘图 指定坐标轴范围 创建包含双 y 轴的图. 以交互方式添加文本到图形 二维图和三维图绘制连续.离散.曲面以及三维体数据图 格式和 ...

  2. 科学计算软件matlab无法使用,谁能研发Matlab?

    先说文章观点:呼吁类似达摩院的科研企业联合投入研发Matlab. 一纸禁文: 哈尔滨工业大学(哈工大).哈尔滨工程大学.北航等中国高校的师生先后发现,自己在使用被称作"工科神器"的 ...

  3. Mathematica 科学计算软件

    · 全球现代技术计算的终极系统 Mathematica 在其三十年的开发历程中,在技术计算领域确立了最先进的技术,并为全球技术创新人员.教育工作者.学生和其他人士提供了最主要的计算环境. Mathem ...

  4. matlab计算16 1 3近似值,8. 科学计算软件Matlab中默认情况下π为近似值3.1416,该近似值与π真值的( )...

    柄残的叶的药密集排列突起可见基和材轮状,学计下π部略膨大根头. 胸闷,算软似值似值不畅呼吸月1个,为能的最可诊断,信号团块中后纵隔状等I检查见稍高,静脉上腔受压. 白细胞:中真值,当病现声音嘶哑时人出 ...

  5. matlab有多么强大,MATLAB 到底有多厉害

    匿名用户 1级 2017-04-14 回答 Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相应领域内处于 ...

  6. MATLAB应用软件与多核并行科学计算工作站

    MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境.        MATLAB是matrix&labo ...

  7. matlab科学计算及分析,matlab科学计算

    spContent=当前,科学计算已经成为科学研究.技术创新的重要方法与手段,而作为实现工具的科学计算软件无疑具有至关重要的作用.MATLAB为众多领域的计算问题提供了全面的解决方案,代表了当今国际科 ...

  8. matlab的矩阵编译器,MATLAB引擎方式实现VC与MATLAB混合编程

    VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便.Matlab是一款将数值分析.矩阵计算.信号处理和图形显 ...

  9. MATLAB(一)Matlab“帮助”的使用

    前言 MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂(矩阵实验室).是由美国mathworks公司发布的主要面对科学计算.可视化以及交互式程序设计的高科技计算环境.它将数值 ...

最新文章

  1. 通过transpose和flip实现图像旋转90/180/270度
  2. Linux常见面试题2
  3. Git - 修改用户名
  4. SAP CRM呼叫中心里confirm按钮的实现逻辑
  5. 【计算机网络复习 数据链路层】3.4.3 后退N帧协议(GBN)
  6. jquery字符串序列化方法总结
  7. 添加图标_图标变化、小程序添加到桌面...微信电脑版这些功能更新!
  8. Tokenview:交易所比特币净流出量大幅增加
  9. 关于Decision in process状态时间变化的解释
  10. numpy - np.reshape:将二维数组转变三维数组
  11. 如何在Elastic cloud上选择合适的Elasticsearch service
  12. PandoraBox潘多拉无线桥接(中继)使用方法和无法使用解决----小米mini小米3路由
  13. 在TMS320F28XXX DSP上实现从flash拷贝整个程序到ram运行的方法探讨
  14. C++:wchar_t 和C++新增类型:char16_t char32_t
  15. [译]如何打造以人为本的移动游戏
  16. 使用 istringtream 注意其状态
  17. 【934. 最短的桥】
  18. eos bp节点 超级节点搭建
  19. python小工具开发_python音乐下载小工具源码(tkinter)
  20. Spring MVC更多家族成员----文件上传---06

热门文章

  1. 服务器重启后发现docker-compose的nginx重启失败: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: addres
  2. SpringBoot 扫描包
  3. linux 动态传参执行shell脚本
  4. 第6篇:Flowable快速工作流脚手架Jsite_请假实战_部门经理审批
  5. Access中编写VBA代码时,如何区分、使用“.”和“!”
  6. 用友u8服务器优化,用友U8v10.1运行速度慢的问题及解决方法
  7. 移动场景在其缩略图中显示场景中所显示的区域
  8. 2018北京大学计算机考研分数线,2018年北京大学考研复试分数线已公布
  9. weex android 性能,跨越适配性能那道坎,企鹅电竞Android weex优化
  10. c++清空一个txt文本_Linux下常用文本处理命令大全