您的位置:首页 > 编程语言 > MATLAB

Mathematica+Matlab联合使用实现可视化、交互编程

2014-04-14 16:41 886 查看
Mathematica的笔记本功能可以保存计算结果,而Matlab是基于代码运算以取得计算结果,或者可以说属于批处理模式;结合二者的优点,则可以实现笔记本功能的交互式、可视化Matlab程序开发。此外,Matlab程序设计语言的相关知识,也可以移植到Mathematica中使用。

1 通讯组件

  http://matlink.org/下载matlink,解压缩到在

SystemOpen@FileNameJoin[{$UserBaseDirectory, "Applications"}]

( 上述命令在mathematica下运行).
将C:\Program Files\MATLAB\R2013a\bin\win64加入系统路径,以使得Matlink能够调用到Matlab的dll等.

2 在Mathematica中与matlab通信
在Mathematica中建立笔记本test.nb,内容为:
Needs["MATLink`"];    (*打开通信包*)
OpenMATLAB[];      (*建立与Matlab通信*)
cdd=NotebookDirectory[];    (*取得当前notebook的文件夹未知*)
MSet["cdd", cdd];    (*将此变量传入Matlab*)
MEvaluate["addpath(cdd)"];   (*将当前路径加入Matlab系统路径,以找到和调用当前文件夹下的Matlab程序*)

MEvaluate["mat = magic(4)"] (*尝试调用Matlab函数*)
mat=MGet["mat"] (*取得Matlab中的变量值*)
MSet["a", 3];   (*放入a变量*)
MSet["b", 5]; (*放入b变量*)
MEvaluate["add2(a, b)"] (*调用当前目录下Matlab函数add2实现两个数的加法运算*)
add=MFunction["add2"] (*取得当前目录下Matlab函数add2的地址*)
add[3,5]  (*以Mathematica方式调用add2函数*)
CloseMATLAB[] (*关闭Matlab*)


3 Matlab加法函数add2.m
function val = add2(a, b)
  val = a + b;
end

以上程序在win8+mathematica9+mathlab2013a下测试通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: