菜单

64各类 JDK 1.8 调用Matlab 2017b打包的jar

2018年11月15日 - jQuery

DK写在前面:

JDK 64位,JDK64位

—恢复内容开始—

JDK 64员 百度云盘链接分享 链接: https://pan.baidu.com/s/1bXClA2 密码:
9brm

—恢复内容了—

http://www.bkjia.com/Javabc/1226299.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1226299.htmlTechArticleJDK 64各类,JDK64各类 —恢复内容开始— JDK 64各项
百度云盘链接分享 链接: https://pan.baidu.com/s/1bXClA2 密码: 9brm
—恢复内容了—…

写这首文章的重要性目的是记录一致涂鸦java调用matlab
打包的jar过程,也参照了累累网上的稿子,因为步骤同,所以中间部分截图就引述网上的了,以备将来查。

章分为2多数,一凡matlab环境和包裹步骤的牵线,二是当设置有matlab和无安装matlab的机及,调用和周转matlab打包的
jar 方法。

 

首先有些:

matlab环境设置与打包jar文件:

本次试验所用底软件以及本也:matlab 2017b, jkd 1.8;

1、matlab 2017b和jdk 1.8之安装配置步骤,不在赘述。

2、脚本编撰和打包jar

2.1
打开matlab主程序,显示matlab主页面,在左手是matlab当前文件夹目录,中间也命令窗口,右边是工作空间,如图:

图片 1

可点击左边当前文件夹窗口上方之图标,更改matlab当前文件夹;

2.2 新建 .m 扩展名的脚本文件

新建脚论有少种植艺术,一凡是直接点击ribbon界面菜单栏的新建按钮,在下拉列表中,选择脚本;二凡是于左边当前文件夹目录树中,右键,选择新建脚论命令,两栽方式是同样的。

2.3 编写函数

双击打开新建的本子文件,再输入脚本,在这个试验借用了网上的等同微段代码,“短小精悍”,就拿来主义了。

%画图 自定义函数drawplot 参数 x y 
   function drawplot(x, y) 
    plot(x, y); %%使用matlab函数plot()作图
    grid on %网格显示
    xlabel('X轴值')
    ylabel('Y轴值')
    title('Java调用MatLab作图例子') 

 

直白将上述代码复制粘贴到剧本文件被;

2.4 打包jar

于命令窗口被输入deploytool(可当输入几个假名后,按tab键,有代码提示),弹出Matlab
Compiler窗口:

 图片 2

择 Library Compiler ,弹出如下窗口:

图片 3

 按图中标注的数字顺序依次选择与输入jar包名称、类名和挑选脚本文件,最后单击
package按钮,在弹出的保留工程窗口选择保存位置和填写工程名称,打包成功截图如下:

图片 4

2.5
打包成功后,会变卦下图所显示之几乎单文本夹,具体每个文件夹的用意,没有追究,我们仅待于生图
for_testing 文件夹,找到我们要之于齐2.3手续中命名的 jar 包即可。

图片 5

图片 6

至这,matlab将脚本文件于包改成可被 java 调用的 jar 的步子都形成。

 

其次片段:

该有的区划也2栽情况下调用智:一凡是以装置有照应版本的
matlab 软件的机上调用 ,二是于安matlab compiler runtime (简称
mcr,下文所涉的 mcr,都指该软件) 的机械上调用。

未雨绸缪所急需的 jar:除了在达成部分涉及的 matlab 由包生成的 jar 之外
,还索要在 matlab 安目录下的
javabuilder.jar,其所在位置如下图(本机安装目录是 c:/Program
Files/MATLAB):

(注意:无论是否当设置 matlab 的机及调用 matlab 所从包的 jar,都要保
jdk 版本与位数和 matlab 所要求的一律)

图片 7

 

一如既往:在设置了对应版本的 matlab 软件之机及调用打包的 jar  :

1、在设置了对应版本的 matlab 机器上调用打包的 jar
时,一般情形下,不需要再部署 matlab
环境,因为咱们于装置时,软件自行在环境变量 Path
下配置了系安排,我们惟有需要检查一下,是否留存相关部署即可,如果没有
matlab 配置,手动添加即可:

配置为:

C:\Program Files\MATLAB\R2017b\runtime\win64;

C:\Program Files\MATLAB\R2017b\bin;

旋即有限个布局还有各个要求,runtime要于前面(根据张底任何文章被证明,猜测的,没有实际测试)。

2、 java 工程调用

在 myeclipse 中新建 java
工程,将在按有的涉及的2只jar包添加到工程引用,并将以下代码写以测试类的
main
方法吃,下面的代码中的类名与篇章第一片于包截图有所不一致,读者在按照以下代码运行时,应基于代码后面的笺注,修改为实在
jar 包中的类名和方式名。

public static void main(String[] args) {
  MWNumericArray x = null; // 存放x值的数组
  MWNumericArray y = null; // 存放y值的数组
  plotter plot = null; // 自定义plotter实例,即打包时所指定的类名,根据实际情况更改

  int n = 20;//做图点数
  try {
   int[] dims = {1, n};
   x = MWNumericArray.newInstance(dims, MWClassID.DOUBLE, MWComplexity.REAL);
   y  = MWNumericArray.newInstance(dims, MWClassID.DOUBLE, MWComplexity.REAL);

   //定义 y = x^2
   for(int i = 1; i <= n; i++) {
    x.set(i, i);
    y.set(i, Math.pow(i, 2));
   }

   //初始化plotter
   plot = new plotter();

   //做图
   plot.drawplot(x, y);// 在脚本文件中的函数名,根据实际情更改
   plot.waitForFigures();// 不调用该句,无法弹出绘制图形窗口

  } catch (Exception e) {
   // TODO: handle exception
  } finally {
   MWArray.disposeArray(x);
   MWArray.disposeArray(y);
   if(plot != null) {
    plot.dispose();
   }
  }

}

代码运行成功,即弹有如下窗口:

图片 8

 

第二:在无安装 matlab软件,但安装了 mcr 的机上调用打包的 jar:

 在尚未设置相应版本的 matlab 机器上调用 matlab jar时,应当设置 mcr
环境。

1、安装 mcr

取 mcr 安装包出少数栽途径,

(1)从 matlab 官网下载对许版本的 mcr。

此次测试所用的 matlab 软件吗
2017b版,故在官网(https://cn.mathworks.com/products/compiler/matlab-runtime.html)下载了如下版本的安装包:

图片 9

于下载好后获得以MCR_R2017b_win64_installer.exe命名的安装文件,在安装前,要先解压所下载的文本,虽然是以
exe
结尾的公文,但仍然只是解压,如果不解压,在装过程被可能会见冒出问题(亲测)。

装到位后会,会将 C:\Program Files\MATLAB\MATLAB
Runtime\v93\runtime\win64 添加至 Path
环境变量中,如果无,需要补给加该配置。

 

(2)从曾经装 matlab
的目下拷贝;其所于的目录为:(该种安装方式不测试)

 %matlab安装目录%\R2017b\toolbox\compiler\deploy\win64

 图片 10

找到该文件后,在安前,应当先解压该该文件(虽然是以.exe结尾的文书,但依然只是解压,如果无解压,安装过程被有或出现问题)

安装好后会,会用 C:\Program Files\MATLAB\MATLAB
Runtime\v93\runtime\win64 添加到 Path
环境变量中,如果没有,需要补充加该配置。

 2、java 调用

欠有的与第一有的被的java调用相同,同样出现上文出现的绘图结果窗口。

 

 至此,完成。

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图