博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
平滑滤波(Smooth); java语言实现
阅读量:4952 次
发布时间:2019-06-12

本文共 1733 字,大约阅读时间需要 5 分钟。

利用移动平均对列向量y进行平滑处理,返回与y等长的列向量yy。移动平均滤波器的默认窗宽为5,yy中元素的计算方法如下:

yy(1) = y(1)

yy(2)=(y(1) + y(2) + y(3))/3
yy(3) = (y(1) 十y(2) 十y(3) + y(4)十y(5))/5
yy(4) =  (y(2) + y(3)十y(4) + y(5) + y(6))/5
yy(5) = (y(3) + y(4)十y(5)十y(6) +y(7))/5

...

java实现

/**

* <p>
* Title: smooth
* </p>
* <p>
* Description: 数组平滑处理
* </p>
*
* @param d
* @return
*/
public static double[] smooth(double[] d) {

int length = d.length;

double[] dbRt = new double[length];

if (length == 1) {

/** 前置与后置无元素 index=0与index=length-1 */
dbRt[0] = d[0];
dbRt[length - 1] = d[length - 1];

}

if (length == 2) {
/** 前置与后置无元素 index=0与index=length-1 */
dbRt[0] = d[0];
dbRt[length - 1] = d[length - 1];
}
if (length == 3) {
/** 前置与后置无元素 index=0与index=length-1 */
dbRt[0] = d[0];
dbRt[length - 1] = d[length - 1];
/** 前置与后置只有一个元素 index=1 与index=length-2 */
dbRt[1] = (d[0] + d[1] + d[2]) / 3;

}

if (length == 4) {
/** 前置与后置无元素 index=0与index=length-1 */
dbRt[0] = d[0];
dbRt[length - 1] = d[length - 1];
/** 前置与后置只有一个元素 index=1 与index=length-2 */
dbRt[1] = (d[0] + d[1] + d[2]) / 3;
dbRt[2] = (d[1] + d[2] + d[3]) / 3;
}
if (length >= 5) {

/** 前置与后置无元素 index=0与index=length-1 */

dbRt[0] = d[0];
/** 前置与后置只有一个元素 index=1 与index=length-2 */
dbRt[1] = (d[0] + d[1] + d[2]) / 3;
for (int x = 2; x < length - 2; x++) {
/** 前置与后置均由两个元素情况 d[n] n-2>=0且n+2<=length-1 */
dbRt[x] = (d[x - 2] + d[x - 1] + d[x] + d[x + 1] + d[x + 2]) / 5;
}
dbRt[length - 2] = (d[length - 3] + d[length - 2] + d[length - 1]) / 3;
dbRt[length - 1] = d[length - 1];

}

return dbRt;

}

public static void main(String[] args) {

double[] dbPara = { 1, 2, 100, 10, 50, 20 };
double[] dbRt = smooth(dbPara);
for (double dbIndex : dbRt) {
System.out.println(dbIndex);
}

}

转载于:https://www.cnblogs.com/tlcContent/p/10413935.html

你可能感兴趣的文章
Android NDK builder for Eclipse in Windows
查看>>
wildfly 在 jee war 外部写配置文件
查看>>
白牌交换机现状分析zz
查看>>
数据表示和基本运算第一弹
查看>>
用 LaTeX 排版编程技术书籍的一些个人经验
查看>>
Unity3D笔记十九 持久化数据
查看>>
TensorFlow笔记-01-开篇概述
查看>>
phpunit——执行测试文件和测试文件中的某一个函数
查看>>
jquery.cookie.js 的配置
查看>>
序列化,json pickle,shelve
查看>>
【原创】StreamInsight查询系列(二十一)——查询模式之使用地理数据
查看>>
iOS sqlite查询当天日期的数据
查看>>
找水王2
查看>>
BZOJ2087[Poi2010] Sheep
查看>>
将默认的select选择框样式清除
查看>>
sql server 查看表的外键
查看>>
RPM管理工具
查看>>
Python学习之路目录(收藏整理)
查看>>
表格里使用text-overflow后不能隐藏超出的文本的解决方法
查看>>
[UE4]事件处理(Handling Events)和委托(Delegate)代码示例(一)
查看>>