1.采用重叠I/O方式实现的socket网络编程,异步非阻塞方式,代码效率比阻塞式的socket编程方式高。
2.实现了TCPserver方式,只用于服务端,可以支持多客户端。
3.可以使用在各种场合用于监控网络数据。
4.代码封装成库形式,非常方便移植。
5.本程序使用到了多线程技术,互斥同步线程技术,同时支持多通道连接技术,非常经典,程序注释完整,思路清晰。
2024/5/26 13:13:36 1.84MB 网络编程
1
收到一些国内外朋友的来信,咨询关于容积卡尔曼滤波的问题(CKF),大家比较疑惑的应该就是generator或G-orbit的概念。
考虑到工作以后,重心必然转移,不可能再像现在这样详细的回答所有人的问题,更不可能再帮大家改论文、写(或改)代码了,请各位谅解!在此,上传一个CKF和五阶CKF用于目标跟踪的示例代码,代码中包含详细的注释,希望对大家以后的学习和研究有所帮助!此代码利用C++对五阶CKF的第二G-轨迹进行了封装(Perms.exe),能理解最好,如果无法理解,也无须深究其具体构造方法!可执行文件底层是用字符串+递归算法实现的,理论上可以应用于任意维模型。
但考虑到递归算法可能存在的栈溢出,重复压栈出栈带来的时间消耗等问题,我们利用矩阵的稀疏性和群的完全对称性,并通过分次调用,来尽可能减少栈的深度,提高计算速度。
容积点一次生成后,可以一直使用,通过对50维G-轨迹的生成速度(CoreT6600@2.2GHz)进行测试,包含数据读写在内的速度约为1.5秒,速度尚可。
而目前为止,本人尚未遇到达到甚至超过50维的系统,因此,暂时不作算法层面的优化。
注意:Perms.exe可以用于任意维模型,将可执行文件复制至工作目录下,调用时选择N/n,并输入你的模型维数,即可生成所需的第二G-轨迹。
如果无法理解相关的概念,请参考示例代码,并记住如何使用即可~~~相关理论基础及所用模型,请参考以下文献:References(youmayciteoneofthearticlesinyourpaper):[1]X.C.Zhang,C.J.Guo,"CubatureKalmanfilters:Derivationandextension,"ChinsesPhysicsB,vol.22,no.12,128401,DOI:10.1088/1674-1056/22/12/128401[2]X.C.Zhang,Y.L.Teng,"AnewderivationofthecubatureKalmanfilters,"AsianJournalofControl,DOI:10.1002/asjc.926[3]X.C.Zhang,"Cubatureinformationfiltersusinghigh-degreeandembeddedcubaturerules,"Circuits,Systems,andSignalProcessing,vol.33,no.6,pp.1799-1818,DOI:10.1007/s00034-013-9730-0
2024/5/26 2:39:13 239KB CKF 五阶CKF 目标跟踪
1
页面的上下两个表单可以封装成一个jsp组件.实现代码的重用具体实现流程如下:客户端的jsp页面传送两个变量:1. Keyword:要查询的关键字2. currentPage:当前要显示第几页servelt中通过调用impl类的方法返回如下内容:1. ArrayList对象:里面存储的是对应的页的数据2. 原样返回currentPage,单击”next”则在此基础之上++;存在(hidden中)3. 原样返回Keyword,下次单击按钮的时候在重新把keyword传过去存在(hidden中)4. 返回根据要搜索的内容,和每页要显示的数量,计算要显示的总页数存在(hidden中)按钮的翻页效果通过js实现下面是next按钮实现代码:window.open("/splitpage/SplitServelt?currentPage="+(page+1)+"&keyword="+keyword,"_self");真分页要注意如下问题:1. PreparedStatement的"?"功能只能充当where条件后面的占位符不能和top一起使用2. 所以在实现分页的时候用了Statement+连接变量的方式完成3. 分页代码如下:selecttop5*frompersonwhereid>(selectmax(id)frompersonwhereidin(selecttop((3-1)*5)idfrompersonwherenamelike'刘%'))分析如下:代码1:selecttop((3-1)*5)idfrompersonwherenamelike'刘%'把前2页数据的id全部找出来查询和”刘”相关的女儿,(3-1)*5代表要显示的是第3页.每页显示5行数据代码2:selectmax(id)frompersonwhereidin(selecttop((3-1)*5)idfrompersonwherenamelike'刘%')重刚刚查询到的id里面选出最大值代码3:selecttop5*frompersonwhereid>(selectmax(id)frompersonwhereidin(selecttop((3-1)*5)idfrompersonwherenamelike'刘%'))要显示5条记录.记录数的id必须大于已经找出来的id(前两页的id)
2024/5/25 9:24:40 625KB jsp+servlet分页
1
STM8、STM32、AT系列的嵌入式芯片的altiumdesigner原理图库和封装库,经过实测,很好用,种类全,免去大量时间和精力去画图的辛苦,真是太省力了!
2024/5/24 3:34:16 2.85MB STM8 STM32 AT 原理图库
1
EC200S模块封装紧凑,仅为29.0mm×32.0mm×2.4mm,能满足几乎所有M2M应用需求,例如:自动化领域、智能计量、跟踪系统、安防系统、路由器、无线POS机、移动计算设备、PDA电话和平板电脑等。
EC200S是贴片式模块,共有144个引脚,其中80个为LCC引脚,其余64个为LGA引脚。
BAT_RF/VBAT_BB-0.36.0VUSB_VBUS-0.35.5VVBAT_BB最大电流00.8AVBAT_RF最大电流01.8A数字接口电压-0.32.3VADC0电压0VBAT_BBVADC1电压0VBAT_BBV
2024/5/24 1:08:02 1.39MB 4g lte-cat1
1
Tms320f2812元件封装Tms320f2812元件封装Tms320f2812元件封装Tms320f2812元件封装Tms320f2812元件封装Tms320f2812元件封装
2024/5/23 16:30:45 58KB 2812 元件封装
1
AMT系列(AMT627/628/629/630)是屏驱动芯片的第三版,进行了第三代升级,优化和前面二版(1839A、1859D)的不足。
内核为Cortex-A5,主频最高可达500MHz,带DDR32MBSDRAM,可解码1280*720做到30帧,带丰富的外设,USBOTG,UART,I2C,SPI,CAN,Nor/NandFlash,封装LQFP128。
2024/5/23 9:40:31 556KB stm32 arm 嵌入式硬件 单片机
1
经常做RS232电路,但是很容易搞反接口,今天做个总结,发上来,方便大家。
RS232接线说明带原理图库和封装库(AD9版本)
2024/5/22 19:42:43 1MB RS232 AD
1
STM32F407ZET6最小系统板AD设计硬件原理图+PCB+封装库,采用2层板设计,板子大小为95x75mm,双面布局布线,主要器件为STM32F407ZET6,IS62WV51216BLL-55TLI,TFT_LCD接口,W25Q16,AMS1117-3.3V,NRF2401模块接口等。
AltiumDesigner设计的工程文件,包括完整的原理图、PCB文件,可以用Altium(AD)软件打开或修改,已经制板并在实际项目中使用,可作为你产品设计的参考。
1
通过Netty4获取串口数据并且下发数据到串口,是一个封装不错的框架
2024/5/22 0:52:26 460KB JAVA Netty4 串口 传感器
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡