首页 > 后端开发 > 正文

如何在Java中调用Matlab?

2024-04-26 03:46:38 | 我爱编程网

最近经常有小伙伴私信询问如何在Java中调用Matlab?相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

如何在Java中调用Matlab?

matalb打不开出现Failed+to+initialize+java?

当你打开 MATLAB 的时候,如果出现了 "Failed to initialize java..." 的错误,这个错误通常是因为 MATLAB 的Java选项的设置有问题。这个问题可以通过更改MATLAB的启动设置来解决。以下是解决方法:

1. 首先,找到 MATLAB 的启动文件。在 Windows 系统上,启动文件通常在以下位置:C:\Program Files\MATLAB\R20XXx\bin\matlab.exe,其中 R20XXx 表示你的 MATLAB 版本号。

2. 右键点击 MATLAB 的启动文件,选择“属性”选项,在弹出对话框的“快捷方式”选项卡打开“目标”选项卡,并在里面加入以下文本: -nojvm -nodisplay

3. 单击“确定”按钮保存更改,然后再次启动 MATLAB。这次应该就能够正常启动了。

如果以上方法仍然不能解决问题,可以尝试删除 MATLAB 的默认 Java 设置文件,并在下次启动 MATLAB 时自动生成新的文件:

1. 关闭 MATLAB,并找到 MATLAB 安装目录下的“bin\win64”文件夹

2. 找到以下三个文件并将其删除:

- java.opts

- javaclasspath.txt

- javapath.txt

3. 重新启动 MATLAB,它应该会自动重新生成这些文件并解决启动问题。

如何在Java中调用Matlab?

如何在Java中调用Matlab?

一、matlab版本必须支持java

在command 模式下面运行deploytool,如果支持该命令即可使用

二、matlab中function的书写

%定义一个函数operation(a,b),求a与b的加减乘除运算,并返回结果

%函数定义function 输出变量列表[s,m,...] 函数名(输入变量列表)sum,sub,mul,div中

function [sum,sub,mul,div] = operation(a,b);

sum = a + b;

sub = a - b;

mul = a * b;

div = a / b;

end我爱编程网

PS:上面function后中括号部分与java中调用该operation的返回值有关系,在java中调用的 Object result[] = XXX.operation(4,a,b); 4表示有4个返回值,分别存放在result[0]到result[4]中。

三、使用matlab编译生成jar

在matlab命令窗口下输入 deploytool,就会弹出一个编译窗口,

然后点击,file,选择new-deployment project,

然后选择matlab builder jave。

name的地方填写工程名,

ocation填写该工程的存储位置。

点击ok。

然后,把m文件添加到工程中,先new一个class,这个class的名字就是你将来在java中需要new的class的名字,也就是matlab中operation所在的class名字然后将你的m文件添加到这个class目录下,然后直接build即可。

四、在java中使用matlab的函数

现在eclipse下面new一个新的java工程,然后将第三部build成功后产生的文件夹下面的distrib目录中的XXX.jar 以及你matlab安装目录下/toolbox/javabuilder/jar/javabuilder.jar加入你的java工程extend lib 中去。

然后你可以清晰的看到XXX.jar中包含的函数和类

五、可能碰到的问题

Exception in thread "main" java.lang.UnsatisfiedLinkError: Failed to find the library libmwmclmcrrt.so.7.13, required by MATLAB Builder JA, on java.library.path.

This library is typically installed along with MATLAB or the MCR, its absence may indicate an issue with that installation or the current path configuration.

The MCR version that this component is trying to use is: 7.13.

Failed to find the library mclmcrrt710.dll,required by MATLAB Builder JA, on java.library.path

原因是2009a要对应安装mclmcrrt7.10。在MATLAB安装目录下查找:\toolbox\compiler\deploy\win32,找到MCRInstaller.exe 安装,重启Eclipse即可。

资料来源:

_stu_zhang/article/details/7605391

如何在Java中调用Matlab?

java调用matlab函数出错,错误如下。求解释啊,谁遇到过这种问题

今天有同学遇到这个问题,上网查了一下好像是因为你的matlab所运行的java虚拟机和你程序的java虚拟机,一个是64位,一个是32位,或者版本不同导致的。matlab输入version -java看一下java版本,然后如果是64位的就去下一个安装。我是用eclipse给你提供个eclipse 的修改方法,去你eclipse点window=>preferences=>installed JREs=>add,将新安装的加进去,然后去你的项目右键=>properties=>java build path=>libraries把之前的jre删了,然后点add librariy=>JRE system library=>alternate JRE,选你刚装的jre,finishing,ok,完成,运行吧,少年,祝好运

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。
与“如何在Java中调用Matlab?”相关推荐