在没有matlab环境的情况下在java类中运行matlab函数
我想在java应用程序中使用matlab函数。我使用matlab中的deploytool从函数中创建java包。现在,我如何使用这个软件包?只能在我的java项目中导入deploytool创建的jar文件并使用它的函数吗 在大量的谷歌搜索之后,我使用了,但在最后一步,我得到了错误“无法加载文件” 我还读了有关MatlabControl的内容,但是在这个解决方案中,我们应该在系统中使用matlab环境来运行java代码。但我将在可能根本没有matlab的系统中运行我的最终应用程序在没有matlab环境的情况下在java类中运行matlab函数,java,matlab,Java,Matlab,我想在java应用程序中使用matlab函数。我使用matlab中的deploytool从函数中创建java包。现在,我如何使用这个软件包?只能在我的java项目中导入deploytool创建的jar文件并使用它的函数吗 在大量的谷歌搜索之后,我使用了,但在最后一步,我得到了错误“无法加载文件” 我还读了有关MatlabControl的内容,但是在这个解决方案中,我们应该在系统中使用matlab环境来运行java代码。但我将在可能根本没有matlab的系统中运行我的最终应用程序 所以我需要一个在
所以我需要一个在java类中运行matlab函数的解决方案,即使没有matlab环境。我没有正确地理解您的问题。您是否已经从Matlab代码编译了jar文件,并且正在尝试使用该文件,或者您已经在本教程的最后一步了 如果您的答案是最新的案例,则很可能您忘记了类路径之前的“.”。 从您链接的教程: 必须确保在类路径的第一个位置放置一个点(.)。如果没有,您将收到一条消息,说明Java无法加载该类
还要检查matlab编译器路径(“教程中的c:\Program Files\matlab\matlab compiler Runtime\v82\toolbox\javabuilder\jar\javabuilder.jar”)是否适合您的系统。最后,我解决了我的问题。逐步解决方案如下:
8 1 6
3 5 7
4 9 2
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();
}
}
}
8 1 6
3 5 7
4 9 2
我已进入教程的最后一步。如何检查matlab编译器路径?这取决于:您是在windows还是linux上?您是否安装了matlab编译器运行时?avarage上的路径应与matlab安装上的路径相同