首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在matlab中使用java

在matlab中使用java
EN

Stack Overflow用户
提问于 2012-06-15 23:24:10
回答 1查看 2.9K关注 0票数 4

当我试图从matlab使用java时,我遇到了一个问题。我多次阅读了MathWork.com的教程,还重新安装了JDK1.6,以便与matlab兼容。然而,在我的工作之后,它仍然不起作用...

以下是classpath.txt中的内容:

代码语言:javascript
运行
复制
    C:\Program Files\MATLAB\R2010a\java\jarext\xstream.jar                                  
    C:\Program Files\MATLAB\R2010a\toolbox\javabuilder\jar\win64   \javabuilder.jar            

    DYNAMIC JAVA PATH

C:\Users\Gao\Desktop\connected_components_labeling

显然,该目录包含在文件中。connected_component_labeling只是我磁盘上的一个文件夹。我想在connected_components_labeling中使用的类是: Disjoint_Set.class和Node.class位于connected_components_labeling文件夹中。

我试过了:

代码语言:javascript
运行
复制
x =  Disjoint_Set();

也是

代码语言:javascript
运行
复制
x = connected_components_labeling.Disjoint_Set();

它们都不起作用。我从matlab得到的唯一反馈是:

代码语言:javascript
运行
复制
??? Undefined variable "connected_components_labeling" or class
"connected_components_labeling.Disjoint_Set".

我很沮丧。有谁能帮帮我吗?我会很感激的。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-16 02:18:37

确保您正在使用与MATLAB兼容的JRE/JDK编译java文件。据我所知,MATLAB在Java7上不能正常工作,所以暂时还是使用Java6吧……

有几个环境变量会影响MATLAB。在我的例子中,我有:

代码语言:javascript
运行
复制
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_32
MATLAB_JAVA = C:\Program Files\Java\jre6
PATH = ...;C:\Program Files\Java\jdk1.6.0_32\bin

这是我刚刚做的一个简单的测试:

C:\work\Student.java

代码语言:javascript
运行
复制
public class Student {
    private String name;
    public Student(String str) {
        name = str;
    }
    public void setName(String str) {
        name = str;
    }
    public String getName() {
        return name;
    }

    public static void main(String args[]) {
        Student s = new Student("amro");
        s.setName("unknown");
        System.out.println("Hello " + s.getName());
    }
}

我编译了:javac Student.java (输出放在相同的目录c:\work\Student.class中)。现在我从MATLAB测试它:

代码语言:javascript
运行
复制
javaaddpath('C:\work')

javaMethod('main','Student','')

s = Student('me')
char( s.getName() )

我得到了:

代码语言:javascript
运行
复制
Hello unknown

s =
Student@8d6877

ans =
me
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11053664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档