您现在的位置是:首页
>
c语言所有函数都是外部函数 在Java程序中调用Matlab函数
在Java程序中调用Matla 函数 环境准备 机器上有Ecli e 和Matla a 机器的环境变量设置 ( )JAVA_HOME (JDK的安装位置 如C:Program File Javajdk
在Java程序中调用Matlab函数
环境准备 机器上有Eclipse 和Matlab a 机器的环境变量设置 ( )JAVA_HOME (JDK的安装位置 如C:Program FilesJavajdk ) 设置后 重启matlab才能有效 用getenv JAVA_HOME在Matlab的命令窗口中试验 看看得到的返回值正确方可说明其对Matlab生效了 ( )Classpath 添加matlabInstallRoot toolboxjavabuilderjarjavabuilder jar ( )Path 添加%JAVA_HOME%/bin/javac 将matlab的m文件生成为jar 在matlab的mand窗口输入deploytool 会在右侧弹出一个新窗口(Deployment Tool) 在Deployment Tool中 点击new按钮 选择Matlab Builder for Java与Java Package 新建一个工程名字 如flying prj 确保在Deployment Tool面板中的Generate Verbose Output被勾上了 将欲被java调用的m文件(如mydraw m 其中包括两个参数(x y))从Matlab整个界面的左侧工作目录面板 拖拽到Deployment Tool中的新建的类下面的class 文件夹下 点击build按钮 则会在matlab的当前目录下 生成以一个与工程同名的文件夹 如果build成功 会看到文件夹结构如下 Flying | distrib | | flying jar | | flying ctf | | src | | flying | | flyingclass java | | flyingMCR java | | classes | | flying | | flyingclass class | | flyingMCR class | build log | flying ctf | flying jar | mccExcludedFiles log | readme txt 编写java方法 准备调用刚刚生成好的flying jar中的Matlab函数 在java工程属性的BuildPath中添加两个jar包 matlabroottoolboxjavabuilderjarjavabuilder jar TestDirectoryflying jar 编写函数示例如下 package test; /** * test for a Matlab Call * */ import mathworks toolbox javabuilder *; import flying *; public class testMatlabClass { /** * @param args */
public static void main(String[] args) { // TODO Auto generated method stub try { System out println( Begin ) flyingclass flyingDraw=new flyingclass() System out println( Middle ) flyingDraw mydraw( ) System out println( Here ) }catch (Exception e){System out println(e) } } } 如果不能正常运行 可以考虑在 classpath 中 加入 flying jar 所在的位置 详 细 参见 matlab 的帮助文件 数据类型相关 Java 的数值型数组 可以直接作为输入参数传递到 m 文件上 如 mydraw(x y) 可以画x=[ ] y=[ ]这样的线图 Java调用该方法时候 如果传递的参数是整型或者实数型数组 则直接可成功 如java中 int[] a = new int[ ]; int[] b = new int[ ]; // 给 a b 赋值 … // … // 调用 flyingclass flyingDraw = new flyingclass() flyingDraw mydraw(a b) 注意 a b 最好所有有索引的位置都有值 否则如果没有充分赋值曲线可能会最终折回( )点 Matlab程序( m文件)的修改 找到TestDirectoryflying jar所在的位置(因为按照上述步骤的话 m源文件就在该位置附近) 这个位置 从Eclipse的Package Explore可以用看到 直接修改欲改动的 m文件 打开Matlab 在Command输入Deploytool 在新打开的部署面板中 打开 该m文件所在的工程 如flying prj 选中相应工程下Class 文件夹下的 m文件 点击工具栏的Build按钮 则相应源文件被重新编译 如果按照前面步骤添加的jar包 则编译后新生成的jar包自动替换掉原有的jar 又由于这个jar的位置已经作为BuildPath告诉了java的相应工程 因此Java端不需要做任何调整即可正确调用到新修改了内容的matlab方法 lishixinzhi/Article/program/Java/hx/201311/26534
很赞哦! (1044)