在MatLab中为JAR文件创建java类路径之后。我正在调用java方法,它返回每1秒double类型的参数。如何将此返回参数保存到数组中?
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; ....]?
答案 0 :(得分:0)
如果我从你的问题中正确理解,你有一个返回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将具有您想要的数组。