Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中加载/打开/读取matlab文件*.mat?_Java_Matlab_Opencv_Mat_Mat File - Fatal编程技术网

如何在java中加载/打开/读取matlab文件*.mat?

如何在java中加载/打开/读取matlab文件*.mat?,java,matlab,opencv,mat,mat-file,Java,Matlab,Opencv,Mat,Mat File,到目前为止,我的代码(基于)不起作用: MatFileReader matfilereader = new MatFileReader("C:\\data\\Freebase\\initEmbed.mat"); System.out.println(matfilereader.getData().get(0) + "name: "+matfilereader.getMLArray("words").getSize()); System.out.println("new "+matfileread

到目前为止,我的代码(基于)不起作用:

MatFileReader matfilereader = new MatFileReader("C:\\data\\Freebase\\initEmbed.mat");
System.out.println(matfilereader.getData().get(0) + "name: "+matfilereader.getMLArray("words").getSize());
System.out.println("new "+matfilereader.getMLArray("words"));
MLArray words = matfilereader.getMLArray("words");
System.out.println(words.contentToString().substring(0, 100));
MLChar j = (MLChar) matfilereader.getMLArray("words");
我的输出:

[1x91898  cell array]name: 91898
new [1x91898  cell array]
words = 
    [1x9  char array]   [1x3  char array]   [1x1  char array]   [1x1  char array]   [1x2  char array]   

Exception in thread "main" java.lang.ClassCastException: com.jmatio.types.MLCell cannot be cast to com.jmatio.types.MLChar
    at NTN.Run_NTN.main(Run_NTN.java:91)

如何将这个matlab文件的单词加载到java数组中?

我对matlab一无所知,但异常情况似乎很明显。您正在将一个
MLCell
转换为一个
MLChar
。“
getMLArray
”必须返回一个
MLCell
。我会先投一个
MLCell

MLCell mlCell = (MLCell) matfilereader.getMLArray("words");
然后使用该类型上可用的任何方法来获取
MLChar