一种获得离散型周期数据的变化周期的算法

news2025/7/13 13:09:01

400个数据像这样:
152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152
155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155
155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155
237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 152 237 24 27 27 109 152 155 155 237
24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24
27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27
27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27
109 152 155 152 237 24 27 27 109 152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 109
152 155 155 237 24 27 27 109 152 155 155 237 24 27 27 98 152 152 155 237 24 27 27 109 152
155 155 237 24 27 27 98 152 155 155 237 24 27 27 109 152 152 155 226 24 27 27 98 152 152
155 226 24 27 27 98 152 152 155 226 24 24 27 98 152 152 155 226 24 24 27 98 152 152 155
226 24 24 27 98 152 152 155 226 24 24 27 98 152 152 155 226 24 27 27 98 152 152 155 226
24 27 27 98 152 155 155 226 24 27 27 98 152 155 155 226 24 27 27 98 152 155 155 226 24
27 27 98 152 155 155 226 24 27 27 98 152 152 155 226 24 24 27 98 152 152 155 226 24 24
27 98 152 152 155 226 24 24 27 98 152 152 155 226 24 24 27 98 152 152 155 226 24 24 27
98 152 152 155 226 24 24 27 98 152 152 155 226 24 27 27 98 152 152 155 226 24 27 27 98
曲线像这样:
在这里插入图片描述
问,怎么求该离散型数据的变化周期?
答案:迭代,方差。
算法如下:

#include <iostream>
#include <fstream>  
#include <string>
#include <istream>
#include <sstream>
using namespace std;
#define ARRAYLEN 24
#define TOTAL_SAMPLES 400
int main(){
	int samples_Data[TOTAL_SAMPLES];
	ifstream infile("test.txt");
	string data;
	int count_samples_Data=0;
	while (getline(infile, data)) {
		//cout<< data << endl;
		//string str = "92 20 120.7";
		int num1 = 0, num2 = 0, num3 = 0,num4 = 0, num5 = 0, num6 = 0,num7 = 0, num8 = 0, num9 = 0,num10 = 0, num11 = 0, num12 = 0,
			num13 = 0, num14 = 0, num15 = 0,num16 = 0, num17 = 0, num18 = 0,num19 = 0, num20 = 0, num21 = 0,num22 = 0, num23 = 0, num24 = 0,num25 = 0;
		istringstream string_to_num(data);
		string_to_num >>num1 >> num2 >> num3 >>num4 >> num5 >> num6 >>num7 >> num8 >> num9 >>num10 >> num11 >> num12 >>
			num13 >> num14 >> num15 >>num16 >> num17 >> num18 >>num19 >> num20 >> num21 >>num22 >> num23 >> num24 >>num25 ;

		samples_Data[count_samples_Data]=num1;samples_Data[count_samples_Data+1]=num2;samples_Data[count_samples_Data+2]=num3;samples_Data[count_samples_Data+3]=num4;samples_Data[count_samples_Data+4]=num5;
		samples_Data[count_samples_Data+5]=num6;samples_Data[count_samples_Data+6]=num7;samples_Data[count_samples_Data+7]=num8;samples_Data[count_samples_Data+8]=num9;samples_Data[count_samples_Data+9]=num10;
		samples_Data[count_samples_Data+10]=num11;samples_Data[count_samples_Data+11]=num12;samples_Data[count_samples_Data+12]=num13;samples_Data[count_samples_Data+13]=num14;samples_Data[count_samples_Data+14]=num15;
		samples_Data[count_samples_Data+15]=num16;samples_Data[count_samples_Data+16]=num17;samples_Data[count_samples_Data+17]=num18;samples_Data[count_samples_Data+18]=num19;samples_Data[count_samples_Data+19]=num20;
		samples_Data[count_samples_Data+20]=num21;samples_Data[count_samples_Data+21]=num22;samples_Data[count_samples_Data+22]=num23;samples_Data[count_samples_Data+23]=num24;samples_Data[count_samples_Data+24]=num25;

		count_samples_Data+=25;

		//cout << num1 <<" "<< num2 <<" "<< num3 <<" "<<num4 <<" "<< num5 <<" "<< num6 <<" "<<num7 <<" "<< num8 <<" "<< num9 <<" "<<num10 <<" "<< num11 <<" "<< num12 <<" "<<
		//num13 <<" "<< num14 <<" "<< num15 <<" "<<num16 <<" "<< num17 <<" "<< num18 <<" "<<num19 <<" "<< num20 <<" "<< num21 <<" "<<num22 <<" "<< num23 <<" "<< num24 <<" "<<num25<<endl ;

	}



	int omiga=0;
	int startIndex=0;
	int tempSum=0.0;
	int loopT=0;
	double tempAvg=0.0;
	double fangcha=0.0;
	unsigned char datas[5];
	double fangchaArray[ARRAYLEN]={0.0};
	int count=0;
	for (omiga=0;omiga<ARRAYLEN;omiga++	)
	{
		count=0;
		for (count =0 ;count<5;count++)
		{
			datas[count]=samples_Data[startIndex+count*(omiga+1)];
		}
		//计算datas 五个数据的方差
		tempSum=0.0;
		for (count =0 ;count<5;count++)
		{
			tempSum+=datas[count];
		}
		tempAvg=(double)(tempSum/5);
		tempSum=0.0;
		for (count =0 ;count<5;count++)
		{
			tempSum+=(datas[count]-tempAvg)*(datas[count]-tempAvg);
		}
		fangcha=(double)(tempSum/5);
		fangchaArray[omiga]=fangcha;
	}
	fangcha=fangchaArray[0];
	double preDaoShu=0.0;
	double postDaoShu=0.0;
	for (omiga=0;omiga<ARRAYLEN;omiga++	){
		if (fangcha>fangchaArray[omiga])
		{
			fangcha=fangchaArray[omiga];
			loopT=omiga+1;
		}
	}
	cout<<"loopT:  "<<loopT<<endl;
	
	system("pause");
	return 0;
}

/*
C++中引入了 istringstream、ostringstream、stringstream这三个类来进行不同类型数据的转换,要使用它们创建对象就必须包含 <sstream> 这个头文件。

istringstream类用于执行C++风格的串流的输入操作。
istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。在读取数据文件时可以按行读取数据并存储到字符串中,然后通过istringstream字符串分割开,并存储到相应类型的变量中。语法格式如下:

istringstream::istringstream(string str);
1
将一个字符串中数字分割开并赋值给double类型的变量:

string str = "92 20 120.7";
double num1 = 0, num2 = 0, num3 = 0;
istringstream string_to_num(str);
string_to_num >> num1 >> num2 >> num3 ;
cout << num1 << endl << num2 << endl << num3 ;
————————————————
版权声明:本文为CSDN博主「还是要努力呀!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33021529/article/details/115462166
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android 开发】 面试官刨根问底?教你如何避免翻车沟通表达能力

很久以前&#xff0c;凭借四大组件、Java基础等知识&#xff0c;便可开开心心的开发&#xff0c;轻松的上岗&#xff1b; 而随着Android的不断发展完善&#xff0c;各种组件库越来越成熟&#xff0c;学习资料越来越多&#xff0c;我们却慢慢的看不到了方向&#xff1b;信息爆炸…

Servlet(Cookie和Session)

目录 &#x1f432; 1. Cookie 的工作流程 &#x1f432; 2. Servlet中操作 Cookie 和 Session 的api &#x1f432; 3. 案例1: 模拟登录 &#x1f432; 4. 上传文件 &#x1f432; 5. 案例2: 上传文件 &#x1f432; 1. Cookie 的工作流程 Cookie 是浏览器在本地持久化保…

[附源码]SSM计算机毕业设计朋辈帮扶系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[毕业设计]opencv机器学习双目测距精度测量系统

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投…

Flutter高仿微信-第43篇-群聊列表

Flutter高仿微信系列共59篇&#xff0c;从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图&#xff1a; 实现代码&#xff1a; /*** Author : wangning* Email : maoning20080809163.c…

泰克Tektronix 信号发生器AFG31022 ,2频道,25MHz

AFG31022 泰克函数发生器 AFG31022 是 Tektronix 的 25 MHz 函数发生器。 产品特征&#xff1a; 2个频道 25 MHz 正弦波 输出幅度范围&#xff1a;1 mVP-P 至 10 VP-P&#xff0c;50 Ω 负载 14 位垂直分辨率 内置波形包括正弦波、方波、斜波、脉冲、噪声和其他常用波形…

数据库设计规范

一、概述 系统数据库表的设计如果有问题&#xff0c;可能造成数据冗余、信息重复、存储空间浪费、数据插入更新异常等。设计一个好的数据表可尽量避免上述问题的发生&#xff0c;如何设计一个好的数据库是有一定的规范的。而这些设计表的基本原则规范称为范式 二、范式 1、范…

实战渗透--一次对后台登录系统的简单渗透测试

某网站后台登录界面 发现有验证码框 猜想会不会存在验证码绕过的漏洞 首先随意输入用户名密码&#xff08;用于抓包&#xff09; 打开burp抓包 分析数据包后 找到对应的传参点 即输入的账号密码还有验证码 这里可以看到 账号和密码全都是明文传输 并没有进行加密 所以更改起来还…

【微服务】CORS跨越问题网关请求转发时进行路径重写问题

一、跨域 CORS 简述 跨域官方文档&#xff1a; https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS 浏览器跨越问题的英文简写为CORS&#xff0c;其出现问题的截图如下&#xff1a; 浏览器拒绝跨域&#xff0c;是通过同源策略限制的。同源策略是指&#xff0c;发送请求…

文献学习03_GloVe: Global Vectors for Word Representation_20221124

论文信息 Subjects:《2014年自然语言处理经验方法会议论文集》&#xff08;EMNLP&#xff09;&#xff0c;第1532–1543页&#xff0c;2014年10月25日至29日&#xff0c; &#xff08;1&#xff09;题目&#xff1a;GloVe: Global Vectors for Word Representation &#xff0…

本地GitLab服务器搭建

一、简介 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过…

把握性能测试重点,5步解决问题!

一、引言 很多做性能测试的同学都问过我这样一个问题&#xff1a;鱼哥(Carl_奕然)&#xff0c;你说性能测试的重点是什么? 我的回答很简单&#xff1a;瓶颈分析与问题定位。 在性能项目的整个周期&#xff0c;不管是脚本设计&#xff0c;脚本编写还是脚本执行&#xff0c;都…

什么时候可以用到强化学习?强化学习怎么用?

我相信很多像我一样的初学者在学习强化学习的的过程会有一种困惑&#xff1a;强化学习内容搞懂了&#xff0c;算法流程也明白了&#xff0c;但是怎么用在自己的研究领域或者应用上呢&#xff1f;换句话说&#xff0c;什么样的情况可以用强化学习解决呢&#xff1f; 什么是强化…

基于MxNet实现目标检测-CenterNet【附部分源码及模型】

文章目录前言目标检测发展史及意义一、数据集的准备1.标注工具的安装2.数据集的准备3.标注数据4.解释xml文件的内容二、网络结构的介绍三、代码实现0.工程目录结构如下1.导入库2.配置GPU/CPU环境3.数据加载器4.模型构建5.模型训练1.学习率设置2.优化器设置3.损失设置4.循环训练…

24.java- File类的常用方法:遍历目录里的文件

遍历目录 通过遍历目录可以在指定的目录中查找文件&#xff0c;或者显示所有的文件列表。 1.File 类的 list() File 类的 list() 方法提供了遍历目录功能&#xff0c;该方法有如下两种重载形式。 String[] list() 该方法表示返回由 File 对象表示目录中所有文件和子目录名称…

Hive之内部表外部表和分区表分桶表

Hive系列 第七章 内部表外部表和分区表分桶表 7.1 内部表和外部表 7.1.1 内部表和外部表的区别 1、创建的时候外部表加上external 2、删除表的时候&#xff0c;内部表会删除元数据信息和真实数据信息&#xff0c;外部表只会删除描述信息7.1.2 内部表和外部表的应用场景 1、…

【JAVA高级】——Druid连接池和Apache的DBUtils使用

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;JAVA开发者…

HBase查询一张表的数据条数的方法

HBase查询一张表的数据条数的方法 文章目录HBase查询一张表的数据条数的方法0、写在前面1、HBase-Shell的count命令2、Scan操作获取数据条数3、执行Mapreduce任务4、Hive与HBase整合5、协处理器Coprocessor实现6、参考资料0、写在前面 Linux版本&#xff1a;Ubuntu Kylin 16.0…

国网云(华为组件)使用

一、国网云(华为组件)介绍 一、项目各项环境 各项环境的介绍 MRS-Hive:MRS支持在大数据存储量大,计算资源需要弹性扩展的场景下,用户将数据存储在OBS服务中。使用MRS集群仅做数据计算处理的存算分离模式。DWS(高斯200):云原生数据库Gauss DB(DWS)1:融合分析能力是云原…

分布式计算模型Mapreduce实践与原理剖析(二)

第二章 MapReduce核心组件实战 2.1 MapReduce中分区组件 需求&#xff1a;根据单词的长度给单词出现的次数的结果存储到不同文件中&#xff0c;以便于在快速查询 思路&#xff1a; 1、定义Mapper逻辑 2、定义Reducer逻辑 3、自定义分区Partitioner这个案例主要的逻辑在这个…