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

概述

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

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

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使用:

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打包的JAR包程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部