gpt4 book ai didi

java - 在没有matlab环境的情况下在java类中运行matlab函数

转载 作者:行者123 更新时间:2023-11-30 02:41:24 25 4
gpt4 key购买 nike

我想在java应用程序中使用matlab函数。我通过 matlab 中的部署工具从我的函数创建 java 包。现在,我该如何使用这个包?我的java项目中只能导入deploytool创建的jar文件并使用其功能吗?

经过大量谷歌搜索后,我使用了 this toturial但在最后一步中,我收到错误“无法加载文件”。

我还读到了MatlabControl,但是在这个解决方案中,我们应该在我们的系统中有matlab环境来运行java代码。但我将在可能根本没有 matlab 的系统中运行我的最终应用程序。

所以我需要一个解决方案,即使没有 matlab 环境,也可以在 java 类中运行 matlab 函数。

最佳答案

终于解决了我的问题。解决步骤如下:

  1. 编写matlab函数:

    函数 y = makeqr(x)

    y = magic(x);

  2. 在matlab中使用deploytool并创建java包。

3.在Eclipse中创建新的java应用程序并添加主类。导入javabuilde.jar和makeqr.jar:

  import com.mathworks.toolbox.javabuilder.MWArray;

import com.mathworks.toolbox.javabuilder.MWClassID;

import com.mathworks.toolbox.javabuilder.MWNumericArray;

import makesqr.Class1;

和main.java:

public class main {

public static void main(String[] args) {

MWNumericArray n = null;
Object[] result = null;
Class1 theMagic = null;

try
{
n = new MWNumericArray(Double.valueOf(5),MWClassID.DOUBLE);

theMagic = new Class1();

result = theMagic.makesqr(1, n);
System.out.println(result[0]);
}
catch (Exception e)
{
System.out.println("Exception: " + e.toString());
}
finally
{
MWArray.disposeArray(n);
MWArray.disposeArray(result);
theMagic.dispose();
}
}

}

  • 将 javabuilder.jar 和 Makesqr.jar 添加到项目的 java 构建路径

  • 运行它。

  • Double.valueOf(3),定义函数的输入,输出如下:

     8     1     6
    3 5 7
    4 9 2

    关于java - 在没有matlab环境的情况下在java类中运行matlab函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585216/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com