【问题标题】:calling Java method arguments into array in MatLab在 MatLab 中将 Java 方法参数调用到数组中
【发布时间】:2017-10-08 14:47:30
【问题描述】:

在 MatLab 中为 JAR 文件创建 java 类路径后。我正在调用为 double 类型每 1 秒返回参数的 java 方法。如何将此返回参数保存到数组中?

import com.IPConn;
import com.V2;             % Java Class from JAR file
import java.util.ArrayList;

al = handle(V2(UI, ipcon), 'CallbackProperties'); % creating device Object which is the hardware(micro controller) sends the data
set(al,'callback',@(handles,event) event.getsource);
al.period(1000);           % This gives the event.getsource for every 1 sec

有没有办法通过使用 Java Array List 导入或其他一些函数将 getsource 的这个重复值存储到数组中,例如 A=[250;500;....]?

【问题讨论】:

    标签: java arrays matlab function


    【解决方案1】:

    如果我从您的问题中理解正确,您有一个返回 int 的 java 方法。这个java方法被Matlab多次调用,你想把它的输出存储在Matlab的一个数组中。

    你可以这样做:

    Java 代码:

    import java.util.Random;
    public class StackOverflow {
        public static int getRandomInt() {
            int max = 10;
            int min = 1;
            Random random = new Random();
            return random.nextInt(max - min + 1) + min;
        }
    }
    

    将其构建到一个jar中并在Matlab中调用它,如下所示:

    javaclasspath('/full/path/to/your.jar')
    import StackOverflow
    so = StackOverflow;
    A = zeros(1,5);
    for i=1:5
        A(i) = so.getRandomInt;
    end
    

    结果变量 A 将具有您想要的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 2014-03-25
      相关资源
      最近更新 更多