我是靠谱客的博主 强健老师,这篇文章主要介绍Java中使用Matlab打包的JAR包程序,现在分享给大家,希望可以做个参考。

    之前做脉搏采集时需要对数据进行滤波等处理,但是用Java处理显然没有直接用matlab的函数来得简单,下面是具体过程:

1、在matlab中写好一个根据数据文件计算心率的函数:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
function HeartRate = purehr(fileName,total_time) fileData = load(fileName); %读取脉搏数据数据txt文件 values = fileData(:,1); %读取第一列数据 sizeOfFile = length(values); %获取数据长度 values = medfilt1(values,4); %平滑 values = smooth(values ,70); count = 60; %脉搏波动出现次数,根据values求得,网上有很多思路,这里随便设定个60 HeartRate = 60 * count / total_time; %一定时间内的平均心率

2、函数手动验证能达到预期效果后进行打包:

    在命令窗口键入deploytool,选择Library Compiler:

    选择Java Package,点击右边的蓝色加号选择你刚刚写好的m文件:


    选择后如图:

    拉到下面,更改下Class Name,点击右上角的绿勾勾Package:

    提示保存,这是在保存工程文件,随意选择你的目录:

    然后,就开始编译打包了,等待即可,过程可能比较久:

    编译完成,打开for_redistribution_files_only文件夹,里面的jar文件就是我们需要的程序包了:

3、使用jar包,我用的是IntelliJ IDEA :

    除了刚才Matlab编译出来的purehr.jar,还需要到Matlab目录下,我的目录是:

D:Program FilesMATLABR2016btoolboxjavabuilderjar下找到javabuilder.jar,把它也复制出来,放到一个你能找到的地方。

    在IntelliJ IDEA左侧的工程目录打开Library Settings:

在Module中,点击右侧绿色加号把purehr.jar和javabuilder添加进来,最后点击OK即可。

    最后是在JAVA使用:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.company; import com.mathworks.toolbox.javabuilder.MWException; import purehr.PureHearRate; import java.io.*; import java.util.ArrayList; import java.util.Random; public class Main { public static void main(String[] args) { // write your code here try { PureHearRate pureHearRate = new PureHearRate(); Object[] results; //用的是集合 //pureHeartRate.purehr(),第一个参数是有几个输出结果,在这里我们只有一个:HearRate,第二个参数是文件路径,第三个是总时间 results = pureHearRate.purehr(1,"C:\Users\Administrator\Desktop\TXT\a.txt",50); System.out.println("心率是: " + results[0].toString());//多个输出则:results[1].toString(),results[2].toString()... } catch (MWException e) { e.printStackTrace(); } } }

   结果:

    如有错误或不清楚的地方,还请各位指正!

最后

以上就是强健老师最近收集整理的关于Java中使用Matlab打包的JAR包程序的全部内容,更多相关Java中使用Matlab打包内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部