Winform 动态画曲线 波峰波谷识别


private void Recognize()
{ Font font = new Font("宋体", 10); if (LstDp.Count < 2)
{
return;
} bIsScanStart = true; DataPoint dpDown = null; for (int i = 1; i < LstDp.Count; i++)
{ if (bIsScanStart)
{ iSIndex = i - 1;
//判断开始是否上升
bStartIsUp = ChargeIsStartUp(iSIndex, LstDp); dpDown = LstDp[iSIndex]; bIsScanStart = false;
} var dS = LstDp[i - 1]; var dNext = LstDp[i]; int topIndex = 0; if (bStartIsUp)//开始是上升的
{ while (i + 1 < LstDp.Count)
{ dS = LstDp[i]; dNext = LstDp[i + 1]; ++i; if (dNext.Val - dS.Val < 0)//到达峰顶dS
{ LstPtTop.Add(dS); topIndex = LstPtTop.Count - 1;
break; } } } else
{
LstPtTop.Add(dpDown);
topIndex = LstPtTop.Count - 1;
} DataPoint temp = LstPtTop[topIndex]; int j = i + 1; while (j < LstDp.Count)
{ var dTopNext = LstDp[j]; var dTopS = LstDp[j - 1]; j++; if (dTopNext.Val - dTopS.Val > 0)//峰谷dTops
{ LstDwn.Add(dTopS);
bIsScanStart = true;
break;
} else
{ continue; }
} i = j - 1; if (i == LstDp.Count() - 1)
{
if (LstDp[i].Val - LstDp[i - 1].Val > 0)
{
LstPtTop.Add(LstDp[i]);
}
}
}
for (int i = 0; i < LstPtTop.Count; i++)
{ g.DrawString("峰顶", font, Brushes.Blue, new Point(LstPtTop[i].pt.X,LstPtTop[i].pt.Y-10)); } for (int i = 0; i < LstDwn.Count; i++)
{ g.DrawString("峰谷", font, Brushes.DarkGreen, new Point(LstDwn[i].pt.X, LstDwn[i].pt.Y + 5)); }
}
下载:
Winform 动态画曲线 波峰波谷识别的更多相关文章
- 贝塞尔曲线.简单推导与用opengl实现动态画出。
在opengl中,我们可以用少许的参数来描述一个曲线,其中贝塞尔曲线算是一种很常见的曲线控制方法,我们先来看维基百科里对贝塞尔曲线的说明: 线性贝塞尔曲线 给定点P0.P1,线性贝塞尔曲线只是一条两点 ...
- gc图波峰波谷一直上升问题
垃圾回收曲线,波峰和波谷一直上升.正常是波峰波谷在同一水平线上,可以想象如果程序继续运行下去,老年代内存回收后也不断上升,当达到老年代满了的时候,就会报内存溢出错误. 用jmap -histo pid ...
- Winform 动态 画图 不闪
一.问题:解决winform动态画图闪的问题,网上搜的方法,大部分都是: “this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlSty ...
- Faas 典型场景——应用负载有显著的波峰波谷,典型用例-基于事件的数据处理
Serverless适用的两大场景 场景一:应用负载有显著的波峰波谷 Serverless化与否的评判标准并不是公司规模的大小,而是其业务背后的具体技术问题,比如业务波峰波谷明显,如何实现削峰填谷.一 ...
- PHP利用GD库画曲线
效果: PHP代码 <?php Header('Content-type: image/png;Charset:utf-8'); //声明图片 $im = imagecreate(400,200 ...
- 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正
源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...
- WinForm动态查询
WinForm 动态查询 1. 使用场景 在对数据进行筛选, 包含多个筛选字段时适用. 2. 接口设计 /// <summary> /// 定义可作为追加到 WHERE 子句的控件接口 / ...
- OpenGL进阶演示样例1——动态画线(虚线、实线、颜色、速度等)
用OpenGL动态绘制线段.事实上非常easy,但到如今为止.网上可參考资料并不多. 于是亲自己主动手写一个函数,方便动态绘制线段.代码例如以下: #include<GL/glu ...
- ARCGIS动态画点
小马哥淡定 原文 ARCGIS动态画点 private void DrawPointOnMap(double x, double y,bool clear) { IMapControl2 pMapCt ...
- Echarts 展示两条动态数据曲线
利用Echarts 展示两条动态数据曲线,每1秒刷新一下数据,在echart官网例子基础上修改,修改了仿真数据的生成方式.生成数量,曲线数量,最总效果图如下: 详细代码如下: 遇到的主要问题点, 1, ...
随机推荐
- SQL语言分为哪几类
SQL 语言分为哪几类 介绍 SQL 语言分为三类,包括 DDL.DML 和 DCL. DDL DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数 ...
- 详细的讲一下微服务框架--SpringCloud
一:微服务架构? 1.为什么需要微服务架构 大家都知道,最开始开发系统就是单机模式(only one computer).但是随着网络的不断发展,数据不断的增加,业务不断的增加,之前在一台机器上实现的 ...
- 记录如何用php做一个网站访问计数器的方法
简介创建一个简单的网站访问计数器涉及到几个步骤,包括创建一个用于存储访问次数的文件或数据库表,以及编写PHP脚本来增加计数和显示当前的访问次数. 方法以下是使用文件存储访问次数的基本步骤: 创建一个文 ...
- 力扣26(java&python)-删除有序数组中的重复项(简单)
题目: 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度.元素的 相对顺序 应该保持 一致 . 由于在某些语言中不能改变数组的长 ...
- 力扣283(java)-移动零(简单)
题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 请注意 ,必须在不复制数组的情况下原地对数组进行操作. 示例 1: 输入: nums = [0, ...
- 深入理解高级加密标准(Advanced Encryption Standard)
title: 深入理解高级加密标准(Advanced Encryption Standard) date: 2024/4/23 20:04:36 updated: 2024/4/23 20:04:36 ...
- RocketMQ 消息集成:多类型业务消息——定时消息
简介: 本篇将继续业务消息集成的场景,从使用场景.应用案例.功能原理以及最佳实践等角度介绍 RocketMQ 的定时消息功能. 作者:凯易.明锻 引言 Apache RocketMQ 诞生至今 ...
- 技术解读 | 智能开放搜索CTR预估模型
简介:本文介绍开放搜索CTR预估模型在个性化排序中的应用与实践 如何评价搜索排序效果? 搜索是用户触达信息最简单直接的方式,是APP.网页必备的功能.如何评价并提升搜索效果一直是搜索领域的常见问题. ...
- 喜马拉雅 Apache RocketMQ 消息治理实践
简介:本文通过喜马拉雅的RocketMQ治理实践分享,让大家了解使用消息中间件过程中可能遇到的问题,避免实战中踩坑. 作者:曹融,来自喜马拉雅,从事微服务和消息相关中间件开发. 本文通过喜马拉雅 ...
- 零基础玩转SLS日志查询-SLS Query Builder发布
简介:日志服务(Log Service,简称 SLS) 是阿里云提供的行业领先的日志大数据解决方案,一站式提供数据收集.清洗.分析.可视化.告警等功能.智能查询分析是数据中台重要的一环,SLS支持秒 ...