写在前面的话 最近在做蓝桥杯练习的时候,发现网上关于第五届国赛试题的代码少之又少,于是自己便尝试着编写,经过一个星期的努力,终于把所以代码搞定,功能也全部实现。个人觉得第五届国赛试题是近几年最难的一届,试题几乎涉及了开发板的所有基础模块,对个人编程能力是一个不小的挑战,这也是花费了一个星期的原因(可能我个人比较菜~~)。 在编程的过程中遇到的最大问题就是RB2电阻和光敏电阻共用一个PCF8591,导致在读取它们数值的时候,总是会互相干扰,最后采用了多次读取然后取平均值的办法,解决了这一问题。如果大家有什么好的建议,欢迎交流。废话不多说,开始上程序~ 题目要求 (找遍了网上,也没发现这届比赛的P
2024-11-16 08:44:47 730KB include 事件记录
1
《GPOPS II:基于hp自适应的Raoph MATLAB伪谱法详解》 在最优控制领域,GPOPS II是一款强大的工具,它采用hp自适应的高斯伪谱法(Gauss Pseudo-Spectral Method)来求解多相最优控制问题。这个软件包的核心是MATLAB实现的算法,其用户手册提供了详细的理论背景和实际操作指导。 我们要理解“伪谱法”。这是一种数值积分方法,特别适用于处理动态系统,尤其是最优控制问题。它将连续时间的控制问题转换为离散时间的优化问题,通过高斯节点进行插值和积分,以提高计算精度。在GPOPS II中,高斯伪谱法结合了高斯积分的优良性质,能够处理非线性、时变的控制系统,并提供高效的数值解决方案。 “hp自适应”策略是GPOPS II的另一大亮点。这种策略允许算法根据问题的复杂度动态调整“h”(元素大小)和“p”(多项式阶数),以确保在保持精度的同时,减少计算成本。在解决具有局部复杂性的最优控制问题时,hp自适应方法能自动识别并集中资源于需要更高分辨率的区域,从而提高整体效率。 Raoph是GPOPS II中的关键算法组件,它可能是指Radau pseudospectral projection method,这是一种特定类型的伪谱法,以其独特的Radau节点而闻名,尤其适合处理带有冲击或边界层的问题。在MATLAB环境下,Raoph算法实现了高效且稳定的数值模拟。 在提供的压缩包中,有两个PDF文件:gpops2.pdf和gpops2UsersGuide.pdf。前者可能是GPOPS II软件的主文档,详细介绍了软件的功能和使用方法;后者则是用户指南,可能包含了如何配置、运行和解读结果的具体步骤,以及一些示例来帮助用户熟悉软件操作。 学习和应用GPOPS II,你需要理解最优控制的基本概念,包括动态方程、性能指标和约束条件。同时,掌握MATLAB编程和数值方法的基础是必不可少的。通过阅读用户指南,你可以逐步掌握如何设置控制问题、调用GPOPS II的函数,以及如何解析输出结果。对于复杂的最优控制问题,GPOPS II的hp自适应伪谱法提供了强大而灵活的工具,是研究和工程实践中的有力助手。
2024-10-11 22:46:13 3.89MB 高斯伪谱法
1
本篇为组合导航扩展卡尔曼滤波 C++ 代码实现。 注:本例所用传感器有激光雷达传感器,雷达传感器 /*扩展卡尔曼滤波器*/ #include #include #include #include #include #include #include #include #define ROWS 1224 #define COLS 8 using namespace std; using namespace Eigen; int main(){ // ******************************导入数据**************************************
2024-03-14 20:46:46 154KB include 卡尔曼滤波
1
为下载的minix 2.0源码与我整合的include目录,比较完整。
2024-02-07 19:45:30 1.27MB minix
1
题目描述: 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。 为此,他想拜附近最有威望的医师为师。 医师为了判断他的资质,给他出了一个难题。 医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰辰,你能完成这个任务吗? 输入格式 输入文件的第一行有两个整数T和M,用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。 接下来的M行每行包括两个在1到100之间(包括1和
2023-11-28 08:46:52 43KB include
1
Linux系统下使用Qt的QtXlsx库,附带编译好的QtXlsx库文件(Linux下Qt5.9.8编译)
2023-09-26 09:46:16 1.01MB qt linux gcc/gdb编译调试
1
现有一些图片按顺序放置在一文件夹jogging1\下,如图: 需要将其合并转换为一个视频。 示例: 环境:Win7+OpenCV3+VS2012 #include #include #include #include #include #include using namespace std; using namespace cv; int main() { _finddata_t FileInfo; //读取图片所在的路径 string inP
2023-04-09 15:03:45 145KB c c++ include
1
c++万能头文件此头文件包含了: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include .. 有字数五百限制,无法一一列举,如果想了解,可以自己查
2023-04-06 16:10:56 79B 头文件
1
tesseract-3.02.02-win32-lib-include-dirs(SDK) tesseract-3.02.02-win32-lib-include-dirs(SDK) tesseract-3.02.02-win32-lib-include-dirs(SDK) tesseract-3.02.02-win32-lib-include-dirs(SDK)
2023-03-30 17:00:14 27.1MB tesseract-3.02.0
1
使用std::thread::hardware_concurrency() 来获得当前系统可以真正并发的线程数量,和cpu的核心数有关。 #include #include #include #include #include #include std::mutex g_lock; template struct accumulate_block { accumulate_block() { //std::cout << 创建一个线程: << std::this_thread::get_id() << std::endl; } ~accumulate_block() {
2023-03-20 21:06:33 35KB include 多线程 并发
1