Java导入matlab的mat文件矩阵

要求:mat中文件应该是单一的矩阵或者向量,如果是多个矩阵存到mat中,使用matlab把原始文件load后分别存成多个单一矩阵的mat文件。

  1. 下载jar包
    使用ujmp中的jmatio模块读取.mat文件到java程序中。


    其实,ujmp主要是在模块core中实现了矩阵运算,其余模块都是复用了已有的开源库。模块jmatio是复用了已有的JMatIo,对这个读取mat文件到java程序的库做了一层封装。从ujmp的官网(https://ujmp.org/)下载ujmp的jar包,但是这一个jar包并不能读取mat文件(虽然jar包内有jmatio模块),还需要下载一个JMatIo的jar包(http://pan.baidu.com/s/1nuMMqvB)。将两个jar包都加入到工程中才可以从mat文件中顺利读取数据到java程序中。

  2. 添加jar包到工程:在当前的project中新建lib文件夹,将下载的jar包复制进来,使用eclipse的在package explorer下右键->properties->java build path->libraries->add external JARs->添加jar->apply->ok

  3. 创建File对象,指向所要读取的mat文件。
    File file = new File("mat file address"); //使用包和其中的类:import java.io.File

  4. 将mat中数据读入到一个矩阵类中:
    Mathix data = ImportMatrixMAT.fromFile(file); //使用包和其中的类:import org.ujmp.jmatio.ImportMatrixMAT;

  5. 对得到的矩阵进行操作。
    具体代码如下:

public static void main(String[] args) throws IOException {
    File file1 = new File("src/test/sampleData.mat");
    Matrix sampleData=ImportMatrixMAT.fromFile(file1);
    File file2 = new File("src/test/dataBase.mat");
    Matrix dataBase=ImportMatrixMAT.fromFile(file2);
    int dataBaseNumber =(int)dataBase.getColumnCount();  //矩阵的列数
    double[]spaceAngle = new double[dataBaseNumber];
    ......
}
  1. UJMP 矩阵库的基本用法见:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 你想象不到有钱是多么的快乐。嗯,全当自己是个有钱人,感觉还不错,有很多吃的值得一尝。
    清溪浅浅流阅读 1,477评论 0 0
  • 有一种植物,因为浓郁的香气很像苹果,被古希腊人称为“苹果仙子”,还把它作为温和且不具副作用的万能疗方。而在古埃及人...
    芃芃其麦遇青禾阅读 5,521评论 0 0
  • 文/雨木 正经小姐今年28岁,离青春已经过了十几个年头,长相...
    w雨木阅读 5,386评论 43 27
  • 字丑就只能画画了。。工作休息的时候画画写写,工作的时候也有灵感。我的工具算很便宜吧。所有成本不到150哈哈 哦!忽...
    Fibon阅读 2,944评论 0 2

友情链接更多精彩内容