Boost C++ Libraries Free peer-reviewed portable C++ source libraries Boost C++ Libraries 基本上是一個免費的 C++ 的跨平台函式庫集合,基本上應該可以把它視為 C++ STL 的功能再延伸;他最大的特色在於他是一個經過「同行評審」(peer review,可參考維基百科)、開放原始碼的函式庫,而且有許多 Boost 的函式庫是由 C++ 標準委員會的人開發的,同時部分函式庫的功能也已經成為 C++ TR1 (Technical Report 1,參考維基百科)、TR2、或是 C++ 0x 的標準了。 它的官方網站是:http://www.boost.org/,包含了 104 個不同的 library;由於他提供的函式庫非常地多,的內容也非常地多元,根據官方的分類,大致上可以分為下面這二十類: 字串和文字處理(String and text processing) 容器(Containers) Iterators 演算法(Algorithms) Function objects and higher-order programming 泛型(Generic Programming) Template Metaprogramming Preprocessor Metaprogramming Concurrent Programming 數學與數字(Math and numerics) 正確性與測試(Correctness and testing) 資料結構(Data structures) 影像處理(Image processing) 輸入、輸出(Input/Output) Inter-language support 記憶體(Memory) 語法分析(Parsing) 程式介面(Programming Interfaces) 其他雜項 Broken compiler workarounds 其中每一個分類,又都包含了一個或多個函式庫,可以說是功能相當豐富。
上传时间: 2015-05-15
上传用户:fangfeng
单片机多功能调试助手是一款可以帮助用户调试单片机的工具,该单片机调试助手集串口调试、串口监视器、USB调试、网络调试、网络服务器、小工具、C51代码向导、AVR代码向导、数据校验、编码转换、位图转16进制与一体,实现对单片机的多功能调试。 【特点介绍】 1、保持为单文件状态,不会因为需要保存配置信息而创建其他其他文件,易于携带。 2、一直体贴着开发者,所有重要的配置在关闭该软件时将会得到保存,重启软件后会重新导入以前的配置信息,免去重复选择或填入数据的操作。 3、集成了串口/USB/网络调试功能,并在串口/USB/网络调试的过程中,该软件提供了监视和多项发送功能。通过使用监视端口的功能就可以清晰地分辨出发送与接收的数据的顺序,通过使用多项发送功能就可以省去重复删除或填写待发送数据的步骤。 4、在线升级、化繁为简,是该软件的最得意之处。
上传时间: 2015-05-16
上传用户:liu964821496
遗传算法为群体优化算法,也就是从多个初始解开始进行优化,每个解称为一个染色体,各染色体之间通过竞争、合作、单独变异,不断进化。 优化时先要将实际问题转换到遗传空间,就是把实际问题的解用染色体表示,称为编码,反过程为解码,因为优化后要进行评价,所以要返回问题空间,故要进行解码。SGA采用二进制编码,染色体就是二进制位串,每一位可称为一个基因;解码时应注意将染色体解码到问题可行域内。 遗传算法模拟“适者生存,优胜劣汰”的进化机制,染色体适应生存环境的能力用适应度函数衡量。对于优化问题,适应度函数由目标函数变换而来。一般遗传算法求解最大值问题,如果是最小值问题,则通过取倒数或者加负号处理。SGA要求适应度函数>0,对于<0的问题,要通过加一个足够大的正数来解决。这样,适应度函数值大的染色体生存能力强。 遗传算法有三个进化算子:选择(复制)、交叉和变异。 SGA中,选择采用轮盘赌方法,也就是将染色体分布在一个圆盘上,每个染色体占据一定的扇形区域,扇形区域的面积大小和染色体的适应度大小成正比。如果轮盘中心装一个可以转动的指针的话,旋转指针,指针停下来时会指向某一个区域,则该区域对应的染色体被选中。显然适应度高的染色体由于所占的扇形区域大,因此被选中的几率高,可能被选中多次,而适应度低的可能一次也选不中,从而被淘汰。算法实现时采用随机数方法,先将每个染色体的适应度除以所有染色体适应度的和,再累加,使他们根据适应度的大小分布于0-1之间,适应度大的占的区域大,然后随机生成一个0-1之间的随机数,随机数落到哪个区域,对应的染色体就被选中。重复操作,选出群体规模规定数目的染色体。这个操作就是“优胜劣汰,适者生存”,但没有产生新个体。 交叉模拟有性繁殖,由两个染色体共同作用产生后代,SGA采用单点交叉。由于SGA为二进制编码,所以染色体为二进制位串,随机生成一个小于位串长度的随机整数,交换两个染色体该点后的那部分位串。参与交叉的染色体是轮盘赌选出来的个体,并且还要根据选择概率来确定是否进行交叉(生成0-1之间随机数,看随机数是否小于规定的交叉概率),否则直接进入变异操作。这个操作是产生新个体的主要方法,不过基因都来自父辈个体。 变异采用位点变异,对于二进制位串,0变为1,1变为0就是变异。采用概率确定变异位,对每一位生成一个0-1之间的随机数,看是否小于规定的变异概率,小于的变异,否则保持原状。这个操作能够使个体不同于父辈而具有自己独立的特征基因,主要用于跳出局部极值。 遗传算法认为生物由低级到高级进化,后代比前一代强,但实际操作中可能有退化现象,所以采用最佳个体保留法,也就是曾经出现的最好个体,一定要保证生存下来,使后代至少不差于前一代。大致有两种类型,一种是把出现的最优个体单独保存,最后输出,不影响原来的进化过程;一种是将最优个体保存入子群,也进行选择、交叉、变异,这样能充分利用模式,但也可能导致过早收敛。 由于是基本遗传算法,所以优化能力一般,解决简单问题尚可,高维、复杂问题就需要进行改进了。 下面为代码。函数最大值为3905.9262,此时两个参数均为-2.0480,有时会出现局部极值,此时一个参数为-2.0480,一个为2.0480。算法中变异概率pm=0.05,交叉概率pc=0.8。如果不采用最优模式保留,结果会更丰富些,也就是算法最后不一定收敛于极值点,当然局部收敛现象也会有所减少,但最终寻得的解不一定是本次执行中曾找到过的最好解。
标签: 遗传算法
上传时间: 2015-06-04
上传用户:芃溱溱123
模式识别,图像处理,SVM,支持向量机 §编制程序显示印章图像(24位真彩色位图); § 读出位图中每一像素点的(R,G,B)样本值; § 以RGB其中某两个(或三个)为坐标,取一定数量的图像点为分析样本,分析其坐标系中的分布; § 采用本章将要学习的方法找到分类判别函数,对这些样本进行分类;(要求首先将印章与底纹区分,将印章、底纹、签字区分)
上传时间: 2015-06-08
上传用户:alqw
演算法評估 用空間和時間評估演算法效能 時間複雜度(Time Complexity) 空間複雜度(Space Complexity) 效能評估 效能分析(Performance Analysis):事前評估 效能評估(Performance Measurement):效能量測 評估時均假設處理的資料量為n到無窮大
标签: 演算
上传时间: 2015-06-13
上传用户:18007270712
内容从数据结构的基本原 理到面向对象程序设计的方法。书内使用适应面极广的C++语言。 1绪论;2基本数据类型;3抽象数据类型与类;4. 集合类;5栈与队列;6.抽象运算符;7.类属数据类型;8.类与动态 存储;9链表;10递归;11树;12继承与抽象类;13先进的非线 性结构;14构建集合。
标签: c++学习视频教程
上传时间: 2015-06-14
上传用户:plancking
打印方式:热敏或热转印 打印速度:102mm/s 最大打印宽度:104mm 最大打印长度:991mm 分辨率:203dpi(8点/毫米)
上传时间: 2015-06-15
上传用户:ycr1992@126.com
3gpp信道模型代码,加入mimo,多径等-3GPP channel model code, adding mimo, multipath, etc.
上传时间: 2015-06-16
上传用户:whtiger
有多径信道、多普勒频移,瑞利、RICE(莱斯)信道等仿真,QPSK调制和解调等,交织编码。程序经过本人测试,绝对可用,并附上本人测试说明和仿真图像结果-I collected information on 2, how-path channel, Doppler frequency shift, Rayleigh, RICE (Rice) channel, such as simulation, QPSK modulation and demodulation, etc., Interleaved Coded. After I tested the procedure is absolutely available, along with my test images and simulation results indicate.
上传时间: 2015-06-16
上传用户:whtiger
Repository 即源码的集中存放处,所有修改后提交的源码就是保存在这里,并在其中记录所有的修改版本,分支版本,版本合并,以及并发修改处理等。SVN最主要的功能是用于团队开发时用的,用于处理源码修改的版本控制和并发修改冲突。对于个人开发来说,虽然不存在并发修改冲突的问题,但个人源码可以使用到SVN的版本控制功能,以便找到开发过程中的版本记录。一般个人没有条件也没必要搭一个独立的服务器来做Repository,在本机的开发过程中误删代码的情况有可能会发生,所以在本机创建一个SVN Repository 还是有必要的。
标签: svn
上传时间: 2015-06-23
上传用户:Huang Jonathan