自己开发的风资源分析工具包WindAnalysis-WindAnalysis1-V1.4.1.zip本帖最后由He_Challen于2017-9-614:40编辑由于工作的原因,今年项目开始转型风电项目,在慢慢上手的过程中发现,风电所涉及的软件清一色北欧的,好不好用只有用了才知道。
因为仅是为前期风电开发做技术分析,老外的软件一个是不容易上手,二是操作复杂。
随下决心自己开发一套专门用于项目前期的风资源分析工具包。
就这样开始而一发不可收拾,从最开始的结构搭建、输出设计便沉迷此中两个月,推出的前三个版本都不太稳定,要么是兼容不好,要么是数据处理的时逻辑顺序有问题,总之在最初的三个版本在大量项目的测风数据的测试下暴漏出一堆又一堆的BUG。
说实话,中途曾想过放弃,一个人孤军奋战实在是太孤独难耐了,多年工作环境造就的内心还是比较强大的,最终还是坚持了下来。
在飞机上、动车上、出差的酒店里、办公桌前开始了一遍又一遍的调试修改,度过了一个又一个难免的夜晚。
最终完成的兼容性和稳定性都可靠的V.1.4.1版本,经反复测试没有问题后,将这个版本作为目前能完成的最终的版本发出来供同行们使用,方便工作和分析。
下面对工具包中的WindAnalysis1和WindAnalysis2的功能做个介绍,过一阵闲了编个教程发出来供大家使用。
WindAnalysis1工具包能够对获取的整个测风数据构建dateset结构体,根据时间序列进行综合整理分析,通过运行可以获得如下分析结果:a.不同高度风速、风向、温度、压强的时间序列分布图;
风速、风向、温度、压强.jpgb.整个测风数据质量判断,及质量分析图;
测风数据质量评估.jpgc.不同高度湍流强度按照风速的分布、各风速对应的湍流强度与其平均湍流强度的分布图;
湍流分布.jpgd.不同高度月平均风速分布图;
月平均风速.jpge.不同高度日平均风速分布图;
日平均风速.jpgf.不同高度风速频率分布直方图;
风频分布.jpgg.不同高度风速风向玫瑰图;
风向、风能玫瑰图.jpgh.风切变拟合和计算;
风切变拟合.jpgi.风切变系数随月分布图;
月风切变.jpgWindAnalysis2为针对特定高度H处的风资源进行详细分析,包括:a.测风时间序列上风速、湍流偏离测风周期内平均值的偏离程度;
风速、湍流时间序列分布.jpgb.风速的威布尔分布拟合和参数计算;
威布尔分布.jpgc.威布尔分布拟合的误差和相关系数R2的计算分析;
拟合误差分析.jpgd.风切变拟合和切边系数计算;
风切变拟合.jpge.指定轮毂高度处的平均风速推算及威布尔分布拟合;
轮毂高度处威布尔分布.jpgf.根据选型风机的参数,绘制功率曲线和推力系数曲线;
功率特性曲线.jpg不仅限于以上figure图文件的生成,还能够估算出指定轮毂高度hub(hub>H)测风塔处的发电量,在CommandWindow窗口中输出计算结果,作为风资源分析的参考。
计算结果.pngWindAnalysis风数据分析工具包教程-V1.4.pdfWindAnalysis1-V1.4.1.zipWindAnalysis2-V1.4.1.zip-------------------------------------------------------------------
2025/5/1 1:47:33 1.38MB matlab
1
yadm-另一个Dotfiles管理员yadm是用于管理点的工具。
基于,具有Git的全部功能支持系统特定的备用文件或模板文件使用,,或加密私人数据可自定义的初始化(引导)可定制的挂钩,适用于任何操作之前和之后完整的功能,用法,示例和安装说明可在网站上找到。
快速浏览#Initializeanewrepositoryyadminit#Cloneanexistingrepositoryyadmclone#Addfiles/changesyadmaddyadmcommit#Encryptyoursshkeyecho'.ssh/id_rsa'>~/.config/yadm/encryptyadmencrypt#Later,decryptyoursshkeyyadmdecrypt#CreatedifferentfilesforLinuxvsMacOSyadmaddpath/file.cfg##os.Linuxya
2025/4/28 1:17:34 138KB git bootstrap dotfiles bash
1
失球状态关于尝试复制“行为,但。
发布于去做季后赛时间表实时处理季后赛数据计划页面获取Twitter帐户和按钮将未来的时间表纳入魔幻数字单元测试覆盖率报告将数据库api代码提取到单独的库中将项目移至github上针对blaseball的特定帐户减少午睡期间的API调用计划的发布时间表v0.0.1狂野/轻度联赛数据切换刷新时实时提取数据(感谢!)数学背后的游戏v0.0.2数据加载指示器和数据填充赢魔术数字派对时间魔术数字克林奇计算v0.0.3在浏览器中自动刷新数据保存上一个视图关于和信息页面v0.0.4新的季后赛出生规则按分组分组切换正确计算玩过的游戏在季节中自动执行静态数据更新v0.0.5季后赛预测百分比v0.0.6季后赛内容将表情符号添加到团队行在全视图中显示完整的团队名称
2025/4/23 4:18:35 61KB Dart
1
由于目前的嵌入式处理速度与PC相比还有一段差距,对于复杂的图像处理略显乏力,所以统筹两者优点,设计实现了一种高效的远程视频实时人脸识别系统。
设计采用嵌入式ARM作为开发平台,并接入摄像头和无线网卡来实现前端部分视频的采集和传输。
PC作为接收端,并配置开源的视觉处理工具OpenCV实现人脸识别和达到视频监控的目的。
通过两者的结合既利用嵌入式优势,也获得了PC的处理速度,而且由于网络化,所以对监控的环境,距离等可以随意的调整,对工业要求或特定场合有一定的借鉴作用。
2025/4/21 17:17:16 1.54MB 视频监控; 人脸识别; OpenCV; ARM
1
/*每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
(1)排序:按不同关键字,对所有员工的信息进行排序。
(2)查询:按特定条件查找员工。
(3)更新:按编号对某个员工的某项信息进行修改。
(4)插入:加入新员工的信息。
(5)删除:按编号删除已离职的员工的信息。
(6)程序要求操作方便,灵活。
*/
2025/4/21 13:38:54 53KB C语言版员工管理系统
1
G3ND-G3N游戏引擎演示G3ND是3D游戏引擎的演示。
它演示并练习了引擎的主要功能。
浏览和阅读的源代码是学习如何使用引擎的好方法。
创建一个新的演示非常容易,因为主程序负责初始化常见的对象和组件。
依存关系G3ND仅依赖于,因此与引擎本身具有相同的依赖关系。
在安装之前,请验证是否到位。
安装以下命令集将下载,编译和安装G3ND,引擎以及引擎依赖的其他Go软件包。
它还将生成g3nd二进制文件。
gitclonehttps://github.com/g3n/g3ndcdg3ndgoinstall跑步在没有任何命令行参数的情况下运行G3ND时,它将在其窗口左侧显示分类的可用演示树,并在空白区域显示演示场景。
单击树中的类别以将其展开,然后选择要显示的演示。
右上角是Control文件夹,单击该文件夹会显示一些控件,这些控件可以更改当前演示的参数。
要以全屏模式运行G3ND,请按Alt-F11或使用-fullscreen命令行标志启动它。
要退出程序,请按ESC或关闭窗口。
您可以启动G3ND以显示特定的演示,该示例在命令行中指定演示名称(类别加“
2025/4/18 8:32:23 51.39MB go golang opengl game-engine
1
一个库,用于使用python中的预构建窗口小部件创建CUI/TUI接口。
在Linux和Windows上轻松构建基于文本的用户界面。
py_cuipy_cui是一个python库,旨在简化用python编写命令行用户界面的过程。
它依赖于curses进行终端渲染,而后者通常是unix特有的,但是,您可以使用模块在Windows上运行py_cui。
与典型的基于文本的用户界面生成器相比,py_cui的主要优点是它像大多数传统的图形用户界面一样依赖于小部件和网格布局管理器。
您可以定义网格大小,然后将预定义的小部件放到特定的网格位置上。
小部件也可以跨多个网格行和列延伸。
如果您曾
2025/4/13 7:56:58 1.42MB python terminal command command-line
1
在本文中,我们将深入探讨如何使用MFC(MicrosoftFoundationClasses)中的链表类来构建一个学生管理系统。
MFC是微软提供的一套C++类库,它简化了Windows应用程序的开发,特别是用户界面部分。
链表作为一种高效的数据结构,非常适合用于管理动态数据集合,如学生的个人信息。
我们要了解MFC中的CList类,它是实现链表功能的基础。
CList类提供了添加、删除、遍历元素等操作,可以存储任意类型的对象,包括自定义的学生结构体。
在学生管理系统中,每个学生的信息可能包括姓名、学号、年龄、成绩等字段,这些信息可以封装在一个名为`Student`的结构体或类中。
创建`Student`类或结构体:```cppstructStudent{CStringname;//学生姓名intid;//学号intage;//年龄floatscore;//成绩};```接下来,我们需要利用CList类来管理`Student`对象。
需要包含MFC头文件`#include`,然后创建一个CList实例,并声明其存储类型为`Student`指针:```cppCListstudentList;```添加学生信息到链表中:```cppvoidAddStudent(CStudent*pStudent){studentList.AddHead(pStudent);}```遍历链表显示所有学生信息:```cppvoidDisplayAllStudents(){CList::POSITIONpos=studentList.GetHeadPosition();while(pos!=NULL){CStudent*pStudent=studentList.GetNext(pos);//打印或处理学生信息}}```此外,还可以实现查找、删除特定学生等功能。
例如,根据学号查找学生:```cppCStudent*FindStudentById(intid){CList::POSITIONpos=studentList.GetHeadPosition();while(pos!=NULL){CStudent*pStudent=studentList.GetNext(pos);if(pStudent->id==id){returnpStudent;}}returnNULL;//如果未找到返回NULL}voidRemoveStudentById(intid){CStudent*pToRemove=FindStudentById(id);if(pToRemove!=NULL){studentList.Remove(pToRemove);}}```为了与用户交互,我们通常会结合MFC的对话框类(CDialog)创建一个用户界面,用户可以通过输入框输入学生信息,通过按钮触发上述函数。
在MFC应用中,通常会继承CDialog类创建一个自定义对话框,并在其中处理按钮事件。
考虑到文件I/O,我们可以将学生数据保存到文件中,以便下次启动程序时恢复。
这可以通过序列化(Serialization)机制实现。
MFC提供了CObject类的Serialize成员函数,使得派生类(如`Student`)可以轻松地进行序列化和反序列化操作。
创建一个.CPP文件来处理文件操作:```cppvoidSaveToFile(CFile&file){studentList.Serialize(file);}voidLoadFromFile(CFile&file){studentList.Serialize(file);}```在对话框的OnOpen或OnSave事件中,打开文件对话框,获取文件路径,然后调用这些函数进行读写操作。
通过以上步骤,我们已经构建了一个基于MFC链表类的学生管理系统,实现了学生信息的增删查改以及文件操作。
MFC的CList类为我们提供了一种灵活且高效的管理动态数据集的方式,使得开发这样的系统变得相对简单。
在实际项目中,还可以根据需求增加更多的功能,如排序、过滤等。
2025/4/12 18:37:03 2.24MB 学生管理系统
1
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。
索引的实现通常使用B树及其变种B+树。
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。
这种数据结构,就是索引。
其实说穿了,索引问题就是一个查找问题。
当我们的业务产生了大量的数据时,查找数据的效率问题也就随之而来,所以我们可以通过为表设置索引,而为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
上图展示了一种可能的索引方式。
左边是数据表,一共有两列七条
2025/4/10 14:41:44 171KB 数据库索引的实现原理
1
接受者操作特性曲线(receiveroperatingcharacteristiccurve,简称ROC曲线),又称为感受性曲线(sensitivitycurve)。
得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。
接受者操作特性曲线就是以虚惊概率为横轴,击中概率为纵轴所组成的坐标图,和被试在特定刺激条件下由于采用不同的判断标准得出的不同结果画出的曲线。
2025/4/9 21:41:42 4KB ROC 目标检测 matlab
1
共 700 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡