
【Java算法】
文章平均质量分 59
月疯
得到你最想要的东西,最保险的办法,那就是你能配得上你最想要的东西。机会是留给有准备的人,运气是留给有天赋的努力者。
展开
-
linux打包流程
因为linux有俩个python版本,我们需要切换到python3这个版本,默认是python 2.7。显示出python的版本了,然后查看pip的配置,我们打包里面需要的第三方需要放到pip里面。都安装好之后,我们将需要打包的文件放到一个文件夹下。说明已经ok了,这样拷贝出来,直接可以引用了。加入没有numpy,那么需要安装numpy的库。成功之后,我们就可以去查看我们的exe文件了。查看是否安装了pyinstaller。再次执行:python -V。切换到python3。原创 2024-05-10 19:18:45 · 565 阅读 · 1 评论 -
Java编程EMD
一个带求包络的信号x(t),进行Hilbert变换的好 HHT(x(t)), 合成一个信号 x(t) + j*HHT( x(t) ), 然后对这个合成的信号取幅值部分 y(t)= Amp( [x(t) + j*HHT( x(t) )] ), 此时y(t)就是得到的上包络,下包络y'(t) = -y(t).1、包络线的获取:确定原始信号的极大值和极小值序列,采用三次样条曲线对极值点进行拟合,形成上下包络线;2、残余信号获取:原始信号x(t),平均信号e(t)做差,得到残余信号;原创 2024-04-25 19:14:21 · 388 阅读 · 0 评论 -
Java调用python的核心代码
【代码】Java调用python的核心代码。原创 2024-04-01 20:05:52 · 278 阅读 · 0 评论 -
JDK8 Stream测试
这个方法的主要作用是把 Stream 元素组合起来。:对 Stream 的排序通过 sorted 进行,它比数组的排序更强之处在于你可以首先对 Stream 进行各类 map、filter、limit、skip 甚至 distinct 来减少元素数量后,再排序,这能帮助程序明显缩短执行时间。当然我们也可以用 Stream、Stream >、Stream,但是 boxing 和 unboxing 会很耗时,所以特别为这三种基本数值型提供了对应的 Stream。原创 2023-10-04 21:24:43 · 428 阅读 · 0 评论 -
Comparator 和 Comparable比较
Comparable 是类内部的比较方法,而 Comparator 是排序类外部的比较器。Comparator是比较器: 我们若需要控制某个类的次序,可以建立一个“该类的比较器”来进行排序。Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。Comparable是排序接口: 若一个类实现了Comparable接口,就意味着“该类支持排序”。分别为28、32、40,如果要从大到小,可以编写为。第二种: Comparator 排序。结果按照40、32、28进行了排序。原创 2023-09-27 20:40:27 · 155 阅读 · 0 评论 -
Java调用python的程序
3种方式:1、利用flask或者django的web向外提供接口调用(可参考django和flask的程序)2、利用PyInstaller把python生成一个exe的可执行文件调用3、比较麻烦,安装python,直接调用.py文件第一种不介绍了,直接参考我的博客,flask和django框架搭建。第二种方式:1、可以直接命令安装:pip install pyinstaller也可以使用pychar安装pyinstaller插件。2、生成可执行文件:pyi..原创 2022-01-08 06:22:03 · 3595 阅读 · 4 评论 -
Java执行系统命令策略
通过Java执行系统命令,与cmd中或者终端上一样执行shell命令一样。最典型的用法:1、Runtime.getRuntime().exec();会在给定的环境和工作目录下启动一个独立的进程运行外部命令。2、new ProcessBuilder(cmdArray).start();从JDK1.5开始,官方提供并推荐使用ProcessBuilder类进行shell命令操作。首先介绍Runtime类提供了如下方法:public long totalMemory();//返回所有可原创 2022-01-08 01:29:08 · 2525 阅读 · 0 评论 -
Java实现二分查找算法
二分查找(binary search),也称折半搜索,是一种在 有序数组 中 查找某一特定元素 的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。时间复杂度:折半搜索每次把搜索区域减少一半,时间复杂度为O(log n)。(n代表集合中元素的个数) 空间复杂度: O(1)转载 2021-03-27 15:27:45 · 1071 阅读 · 0 评论 -
相似度算法原理
欧几里得距离(Eucledian Distance)或称 欧氏距离 余弦相似度 (Cosine Similarity) 杰卡德相似系数(Jaccard Similarity coefficient) 皮尔逊相关系数(Pearson correlation)1、欧几里得距离(欧氏距离(也称欧几里得度量)指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离))2、曼哈顿距离(在欧几里得空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和)使用:...原创 2021-03-10 11:58:32 · 695 阅读 · 0 评论 -
java密度聚类的demo(亲测)
package com.test.demo.gua;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class K_meanTest { public static void main(String[] args){ List<Double> x=new ArrayList<>(); List<Doubl.原创 2021-03-10 10:26:46 · 302 阅读 · 0 评论 -
java实现高斯赛德尔算法解线性方程组
/*使用高斯赛德尔迭代法求解线性方程组*/public class Gauss_Seidel_Iterate { /*求下三角*/ private static float[][] find_lower(float data[][],int k){ int length=data.length; float data2[][]=new float[length][length];...转载 2019-07-23 10:51:50 · 689 阅读 · 0 评论 -
java多元解析方程组
直接上代码:static DecimalFormat df = new DecimalFormat("0.##"); /*** * 增广矩阵机型初等行变化的算法 * * @param value * 需要算的增广矩阵 * @return 计算的结果 */ public static doubl...转载 2019-07-23 10:49:37 · 2031 阅读 · 0 评论 -
多元线性回归(java实现)
import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException; public class LinearRegression { /* * 训练数据示例: * x0 x1 x2 ...原创 2019-07-20 18:15:22 · 918 阅读 · 0 评论 -
直线趋势法(理论)
1.直线趋势法概述直线趋势法又称直线趋势预测法、线性趋势预测法,是对观察期的时间序列资料表现为接近于一条直线,表现为近似直线的上升和下降时采用的一种预测方法。关键是求得趋势直线,以利用趋势直线的延伸求得预测值。直线趋势法是假设所要预测的变量与时间之间成线性函数关系,并以此为基础预测未来。因此,用这种方法时,应先计算相关系数,以判别变量与时间之间是否基本上存在线性联系。只有存在线性联系时,才...转载 2019-06-06 12:58:09 · 14680 阅读 · 1 评论 -
java实现线性回归(简单明了,适合理解)
今天做了一个小demo测试一下线性回归直线拟合。package htt.wave.notification.qztest;/** * @authorseerhuitao 线性回归编程 * @create2019/5/10 */public class ClineNone { //求出来的b值 public static double getB(double[] x...原创 2019-05-10 13:28:35 · 7430 阅读 · 0 评论 -
算法中值滤波的研究
参考地址:https://www.docin.com/p-956177603.html参考地址:http://www.doc88.com/p-2798730369751.html参考地址:https://wenku.baidu.com/view/85c6b46fb9d528ea80c7797d.html参考地址:https://wenku.baidu.com/vie...原创 2019-03-27 10:37:23 · 835 阅读 · 0 评论 -
java对PPG的基线漂移的一种处理办法(中值滤波)
传进去所有采集的离散点//滑动均值滤波器 public static List<Double> getAverageValue(List<Double> list){ double[]start=getList(list); MovingAverageFilter maf=new MovingAverageFilter();...原创 2019-03-25 14:47:15 · 2015 阅读 · 0 评论 -
java选择排序算法实现
//选择排序public class SelectionSort { public static void main(String[] args) { int[] arr={1,3,2,45,65,33,12}; System.out.println("交换之前:"); for(int num:arr){ Syst...转载 2019-02-15 11:02:01 · 496 阅读 · 0 评论 -
java插入排序算法实现
一,插入排序介绍 插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元素的位置。因此,对于这类排序,就有两种基本的操作:①比较操作; ②交换操作其中,对于交换操作,可以优化成移动操作,即不直接进行两个元素的交换,还是用一个枢轴元素(tmp)将当前元素先保存起来,然后执行移动操作,待确定了最终位置后,再将当前元素放入合适的位置。(下面的插入排序...转载 2019-02-15 10:59:15 · 199 阅读 · 0 评论 -
Java打印99乘法表
package demo;public class Maonv { public static void main(String[] args){ demo(); } private static void demo() { for(int i=1;i<10;i++){ for(int j=1;j<...原创 2019-02-01 08:51:08 · 1668 阅读 · 0 评论 -
java实现最小二乘法
package htt.wave.notification.wavetools;import java.util.List;/** * @authorseerhuitao 最小二乘法 * @create2018/5/31 */public class LinearUtils { /** * 预测 * * @param x * @pa...原创 2018-12-06 16:25:17 · 236 阅读 · 0 评论 -
K-means聚类分析算法(二)
package com.bigdata.ml.cluster; import java.util.ArrayList;import java.util.Random; /** * 聚类算法通常用于数据挖掘,将相似的数组进行聚簇 * * @author zouzhongfan * */public class Kmeans { private int k;// 分成多...转载 2018-07-26 15:45:36 · 369 阅读 · 0 评论 -
K-means聚类分析算法(一)
/** * @authorseerhuitao 聚类算法 * @create2018/7/26 */public class KmeansUtils { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method ...原创 2018-07-26 15:40:43 · 299 阅读 · 0 评论 -
java实现傅里叶变换
借助dsp-collection库实现 java 离散时间傅里叶变换。 dsp-collection 库里面的 Dft 类主要实现实数信号的傅里叶变换(变换的结果为频域复数信号),也可以进行傅里叶逆变换(变换的结果为时域实数信号)。傅里叶变换:biz.source_code.dsp.math.Complex[] result = Dft.goertzelSpectrum(data);1傅里叶逆...原创 2018-06-20 10:03:35 · 4111 阅读 · 1 评论 -
使用java实现数字滤波器
dsp-collection 库支持多种 IIR 滤波器,包括巴特沃斯,切比雪夫和贝塞尔滤波器。笔者在这里使用的是巴特沃斯滤波器。其他的请参考API 文档。仿真信号:f(t)=sin(10πt)+sin(30πt)f(t)=sin(10πt)+sin(30πt)其中包含 5Hz 和 15Hz 两个频率分量,信号的采样率为 50Hz :double[] time = new double[1...原创 2018-06-19 16:31:10 · 2594 阅读 · 0 评论 -
java数学函数Math类
Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.23, -12.3); //-1.23,返回第一个参数的量值和第二个参数的符号 Math.copySign(-12.3, 1.23); //12.3 Math....转载 2018-06-14 00:50:57 · 14187 阅读 · 3 评论 -
最小二乘法拟合二元多次曲线
public class CurveFitting { ///<summary> ///最小二乘法拟合二元多次曲线 ///例如y=ax+b ///其中MultiLine将返回a,b两个参数。 ///a对应MultiLine[1] ///b对应MultiLine[0] ///</summary> ///<param na...原创 2018-06-12 09:56:52 · 92 阅读 · 1 评论 -
java图像的中值滤波器
import java.awt.*;import java.awt.image.*;import java.applet.*; public class zhongzhi extends Applet { Image img,pic; int wide,high; int p[]; int hist[]=new ...翻译 2018-06-05 10:36:26 · 648 阅读 · 0 评论 -
java垃圾回收算法
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的内存。常用的垃圾回收算法有:(1).引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时...转载 2018-04-07 02:02:33 · 125 阅读 · 0 评论 -
MySql索引详解
1、索引索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。对于索引,会保存在额外的文件中。2、索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。索引由数据库中一列或多列组合而成,其作用是提高对表中数据的查询速度索引的优点是可以提高检索数据的速度索引的缺点是创建和维护索引需要...转载 2018-04-06 21:03:07 · 255 阅读 · 0 评论 -
Java实现JOONE的模式识别
目前主要用到的有【java神经网络组件Joone、Encog和Neuroph】Joone的实现:算法:我自己感受不干什么算法变成都不是那么困难那学习,最重要的是你要有一套合理简洁的数学方法,让机器很容易就领会到它;joone是早期的一个模式识别的算法框架,里面是用了BP神经网络的算法实现。分为文件训练神经网络和内训训练神经网络。JOONE 主要有三个大的模块:joone-engine:joone的...原创 2018-03-27 12:08:14 · 66 阅读 · 0 评论