java调用matlab程序

在实际Java编程中,我们可能想要使用matlab编写一些复杂的数值计算算法,然后导入我们的java项目中调用。这首先需要我们matlab的jdk版本和java项目的jdk版本对应一致。想查看matlabjdk版本,可以在matlab命令行中输入version -java来查看,会看到类似下面的内容:
Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
。下面我们来看看matlab2015a版本下编写的m文件代码如何导入java中使用。
1. 在matlab中编写m文件程序,程序来源于我另一篇博文matlab实现的五彩烟花:http://blog.csdn.net/qwe6112071/article/details/50868067
2. 将m文件程序编译成java可识别的jar包。
1. 先在命令行输入:depolytool,然后会弹出如下窗口,
这里写图片描述
2. 选择 Library Compiler,会弹出如下窗口
这里写图片描述
3. 选择并填写下图图中相应的信息,完成后点击右上角的package,会弹出一个窗口,如果破解得彻底的,会提示打包成功,但如果破解得不彻底的,就会报错了。
这里写图片描述
下面是打包的运行窗口,等待时间可能会比较长。
这里写图片描述
打包完成后,会显示如下图片,然后我们进入响应目录下的for_redistribution_files_only文件夹里,即可找到我们的打好的jar包然后连同matlab安装目录下的toolbox\javabuilder\jar文件夹下的javabuilder.jar文件,一块导进我们的java程序中。
这里写图片描述
4. 然后我们通过java新建一个matlab函数转换成的类,并通过此类调用matlab函数

<code class="language-java hljs  has-numbering"><span class="hljs-keyword">import</span> yanhua.Yanhua;

<span class="hljs-keyword">import</span> com.mathworks.toolbox.javabuilder.MWException;

<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Test1</span> {</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String args[]) <span class="hljs-keyword">throws</span> MWException{

Yanhua yanhua = <span class="hljs-keyword">new</span> Yanhua();
yanhua.yanhua();
}
}</code><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li></ul><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
实现效果如下所示,

这里写图片描述
值得一提的是,通过java来解析matlab的GUI界面,就会显得比较粗糙了,所以从实际出发,java调用matlab程序更适合于使用matlab进行一些大规模数值计算的场景,具体matlab程序的完整实现请查看我的另一篇文章:<

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值