【问题标题】:How can I load / open / read a matlab file *.mat in java?如何在 java 中加载/打开/读取 matlab 文件 *.mat?
【发布时间】:2015-06-27 06:11:00
【问题描述】:

到目前为止我的代码(基于this entry)但它不起作用:

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数组中?

【问题讨论】:

    标签: java matlab opencv mat mat-file


    【解决方案1】:

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

    MLCell mlCell = (MLCell) matfilereader.getMLArray("words");
    

    然后使用该类型上可用的任何方法来获取MLChar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-29
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 2011-08-25
      • 2016-09-19
      • 2018-11-04
      相关资源
      最近更新 更多