微分代数在磁场分析器高阶像差分析中的应用(共2篇)
1.微分代数在磁场分析器高阶像差分析中的应用 篇一
微分进化算法作为一种新兴的演化计算方法,它不依赖具体问题的领域,有很强的鲁棒性,是求解复杂系统优化问题的有效方法,因此在很多领域都得到了广泛的应用。微分进化算法虽然计算简单,但是易限入局部最优,存在早熟收敛现象。目前主要通过三个方面解决:一是调整控制参数改进算法;二是通过对搜索空间的改进提高算法性能;三是和其他算法结合产生新的混合算法。
本文主要对微分进化算法的收敛性及收敛速度进行深入分析,提出一种改进策略,提高算法的全局搜索能力和收敛速度,防止算法出现早熟的现象。并将改进的微分进化算法应用于聚类分析问题中,用于改善K⁃均值算法对初始聚类中心的敏感性。针对K⁃均值算法对噪声数据、孤立点、初始聚类中心的敏感性,利用基于PCADE算法对K⁃均值聚类算法进行改进,并利用典型的测试数据集IRIS进行验证,实验结果表明该改进算法在聚类结果的精度方面有所提高。
1 基于主成分的微分进化算法PCADE
1.1 算法介绍
在群体的进化过程中如果子代能够遗传到父代较多的优良信息,那么就越容易收敛到最优解,子代个体的产生只是从种群中随机挑选父代个体进行差分而得到的,而且并没有遗传到除了父代之外其他个体的任何信息。为了充分利用历史数据信息,将主成分分析的方法引入到微分进化算法中。
主成分分析方法可以将数据中彼此相关的变量经过线性变换转化为不相关的变量而且又能够反应原始数据的大部分特征。那么在微分进化算法的迭代过程中,利用主成分分析方法,将种群pop经过线性变换映射到主成分构成的种群空间pca_pop中。在主成分构成的种群pca_pop中各个体之间互不相关,而且前m个主成分就能代表原始数据中80%以上的信息量。那么种群的更新将在这两个空间中进行。
种群采取的进化策略如下:
假设迭代到第k代,种群pop(k)完成微分进化算法的交叉、变异,选择时不立即进行下一代的进化,而是首先将该种群pop(k)映射到其主成分空间得到主成分种群pca_pop(k),然后将前m个主成分作为下一代种群的前m个个体,即pca_pop(k)中前m个个体为pop(k+1)中前m个个体,种群pop(k+1)中剩余的N-m个个体从pca_pop(k),pop(k)中选出适应度值高的个体进入pop(k+1),直到种群个体数达到N。这样就得到了下一代的种群pop(k+1),然后继续进行下一步的迭代过程。
由于主成分构成的个体之间具有很小的相关性,当进化若干代之后,个体之间进行信息交流,提高种群多样性,避免种群趋于一致性,极大地搜索出新的解空间,利于找到全局最优解。
1.2 算法流程
Step1:初始化种群pop;
Step2:计算个体适应度值,得出种群中的最好个体,按如下公式进行变异操作:
Step3:按照如下公式进行交叉操作:
Step4:按照如下公式进行选择操作:
Step5:计算种群pop的协方差矩阵,求解协方差矩阵的特征值ai和特征向量λi,然后求主成分,得到一个由主成分构成的新的种群pca_pop;
Step6:种群pca_pop中主成分累积贡献度达到90%的前m个个体直接进入下一代,剩余N-m个个体从种群pca_pop,pop中选出适应度值较高的个体进入下一代,直到种群规模达到N;
Step7:判断是否满足迭代条件,若不满足则返回Step2。
算法流程图如图1所示。
2 微分进化算法在聚类分析中的应用
2.1 基于DE的K⁃均值聚类算法
K⁃均值算法对初始点的选取和样本中的孤立点是敏感的,而且易陷入局部极小值,导致算法的聚类结果稳定性较差。如果能采用一种快速有效的优化算法对聚类中心进行优化,找到质量较高的聚类中心,势必会大大提高聚类的质量。目前针对这些问题处理的方法有很多,很多学者用模拟退火,遗传算法,粒子群算法,蚁群算法等对K⁃均值算法进行改进,都取得了不错的效果,和其他优化算法相比,微分进化算法具有结构简单,参数少,易于实现的优良性能,因此将微分进化算法引入到K⁃均值算法中,将二者有机结合,弥补K⁃均值算法对孤立点的敏感性,发挥二者的优势,形成性能较优的混合算法。
聚类问题的核心是求解各个聚类中心,因此利用DE算法进行聚类选取的时候,一个重要的问题是对聚类中心编码。设在Rn空间中,给定数据集X=(X1,X2,⋯,Xn),该数据集共有n个样本,每个样本点包含p个属性,即Xi=(Xi1,Xi2,⋯,Xip)要将样本数据分成k类,在基于DE的聚类分析中,每个个体代表k个聚类的中心,因此个体实际上就是k×p维的向量。这样每个个体采用如下的编码结构:
算法流程图如图2所示。
2.2 基于PCADE的K⁃均值聚类算法
上述将微分进化算法引入到K⁃均值算法中,将二者有机结合,弥补K⁃均值算法对孤立点的敏感性,发挥二者的优势,形成性能较优的混合算法。但是微分进化算法本身容易陷入局部最优,尤其是算法进化后期收敛速度有所下降,因此将改进的微分进化算法PCADE与K⁃均值算法相结合,产生一种新的混合算法。
对于聚类中心的编码方式采用上述基于DE的聚类算法,收敛准则函数采用如下函数:
式中:Xi表示簇Ci中的样本;Zi表示簇Ci的聚类中心。
输入:聚类数目k,含有n个数据对象的数据集X,种群规模N,放缩系数F,交叉概率CR,最大迭代次数;
输出:最佳聚类结果。
算法流程图如图3所示。
3 实验结果及分析
为了验证上述基于主成分分析方法的微分进化算法PCADE能否得到好的效果,利用测试函数对该改进算法进行数值实验,并与原始微分进化算法(DE),粒子群算法(PSO)进行比较。首先DE算法中F=0.6,CR=0.5,最大迭代次数设置为1 000代;PSO算法c1=c2=2,惯性系数从0.9线性减少到0.1,最大迭代次数设置为1 000代;改进的微分进化算法PCADE中F=0.6,CR=0.5,主成分累积贡献度为90%,最大迭代次数设置为1 000代。以上三种算法种群个数N=40,维数D=30,连续运行10次。
为了对算法性能进行评估,采用如下的评估办法对测试函数1~4进行评价:
(1)适应度值平均值:由于多次独立运行结果存在数值上的差异,平均值表明其运行结果的平均性能;
(2)最佳适应度值,最差适应度值:考虑在运行过程中的随机性,增加10次运行结果的最佳适应度和最差适应度值;
(3)收敛曲线图:从收敛曲线图中可以直观看出算法的收敛速度和收敛的精度。
测试函数1:,x的取值范围为[-100,100],最优解为0;
测试函数2:,x的取值范围为[-10,10],最优解为0;
测试函数3:,x的取值范围为[-1.28,1.28],最优解为0;
测试函数4:,x的取值范围为[-5.12,5.12],最优解为0。
利用上述测试函数对三种算法进行数值实验,利用Matlab编程软件进行编程,得出结果如表1~表3所示。
图4~图7分别为DE算法、PSO算法、PCADE算法的收敛图。
从收敛图可以看出,PCADE算法收敛速度比DE,PSO要快很多,DE算法收敛速度从整体看来要比PSO快一些。不管是从收敛精度还是收敛速度来看,改进的微分进化算法PCADE的性能要比DE,PSO要好。因此该算法值得推广。
聚类算法仿真实验的环境为:仿真软件Matlab 7.0,采用的测试数据集为IRIS数据集。IRIS数据集被作为机器学习中分类问题的基准测试数据集,IRIS数据集一共包含150个样本,3类花型(setosa,versicolor,vinginica)4个特征属性(萼片长,萼片宽,花瓣长,花瓣宽),每类花一共有50个样本。在进行聚类分析时,由于样本数据受量纲和数量级的影响,因此在聚类分析处理过程中,应对原始数据矩阵进行变换处理,就是从数据矩阵的每个变量中找出其最大值和最小值,这两者之差称为极差,然后将每个原始数据减去该变量的最小值,再除以极差就得到规格化数据,进行规格化变化之后数据的特点是将数据转化到[0,1]之间。将规格化后的数据集用来测试K⁃均值算法,基于微分进化的K⁃均值算法以及提出的基于PCADE的K⁃均值算法,从聚类结果分析聚类的效果。本文中算法参数设置如下:种群规模N=20,放缩因子F=0.6,交叉概率CR=0.5,累积贡献度=90%,最大迭代次数50,独立运行10次,实验以10次运行结果取平均来分析聚类的好坏,如表4和图8所示。
%
从表4结果可以看出在独立运行10次之后,PCADE⁃Kmeans算法的正确识别率要高于其他两种算法,最优运行结果的正确率可以达到94.67%。从图8也可以看出PCADE⁃Kmeans算法将IRIS数据进行了很好的聚类。因此改进的算法性能较好。
4 结论
微分进化算法利用自然界优胜劣汰的思想和简单的差分操作使得其在一定程度上具有自组织、自适应、自学习的特征。但微分进化算法跟其他进化算法一样存在早熟收敛等问题,因此对微分进化算法进行改进,提高其全局搜索能力和收敛速度,使之能够适应各种复杂的工程问题,这是一个值得深入研究的领域。
本文通过研究国内外学者对微分进化算法的改进方法,提出了一种基于主成分的微分进化算法,该算法将种群空间映射到由主成分构成的种群空间,主成分空间中前m个主成分构成的个体可以直接进入下一代的进化,而其余的个体则从主成分空间和原始种群空间中挑选出适应度值高的进入下一代,这样的改进方法使得种群能够更多地获得父代的信息,增加了种群的多样性。通过数值实验证明该算法在收敛精度和收敛速度上都有很大的提高。该算法对聚类中心进行编码构成进化种群,利用PCADE算法更新种群,最终得到较好的聚类中心,然后根据聚类中心对样本进行聚类,利用IRIS数据集进行试验,结果表明基于PCADE的K⁃均值聚类算法在聚类问题中得到了较好的结果。
从上述两个方面来看,该改进的微分进化算法PCADE在性能方面有了很大的提升,值得进一步推广。
参考文献
[1]李士勇,陈永强,李研.蚁群算法及其应用[M].哈尔滨:哈尔滨工业大学出版社,2004.
[2]胡中波,熊盛武,胡付高.改进的差分演化算法及其在函数优化中的应用[J].武汉理工大学学报,2007,29(4):125-128.
[3]苏海军,杨煜普,王宇嘉.微分进化算法的研究综述[J].系统工程与电子技术,2008,30(9):1793-1797.
[4]欧陈委.K-均值聚类算法的研究与改进[D].长沙:长沙理工大学,2011.
[5]孟凡军,李天伟,徐冠雷,等.基于K-均值聚类算法的雾天识别方法研究[J].现代电子技术,2015,38(22):56-58.
[6]VOSS M S.Principal component particle swarm optimization[C]//Proceedings of 2005 IEEE Swarm Intelligence Symposium.[S.l.]:IEEE,2005:401-404.
[7]EBERHART R,SHI Y.Comparing inertia weights and constriction factors in particle swarm optimization[C]//Proceedings of2000 IEEE Congress on Evolutional Computation.La Jolla:IEEE,2000:84-88.
2.微分代数在磁场分析器高阶像差分析中的应用 篇二
关键词:微分方程;电路;暂态过程;应用
一、一阶线性微分方程及其通解
含有未知函数导数(或微分)的方程叫做微分方程,未知函数是一元的微分方程叫常微分方程,微分方程中未知函数的导数的最高阶数为一阶的微分方程叫一阶微分方程。本文所提到的微分方程均指一阶常微分方程。一阶微分方程的一般形式
y'+P(x)y=Q(x)
通解为y=e■[C+■Q(x)e■dx](C为常数)
特殊地,当Q(x)≡0时,方程变为y'+P(x)y=0称为一阶齐次线性微分方程,通解为y=Ce■(C为常数)。当Q(x)≡B(常数)时,方程变为y'+P(x)y=B,通解为e■[C+B■e■dx](C为常数)。在直流电源激励下一阶线性电路的暂态过程分析中,主要就是用这两个方程的通解得到电路的响应公式。
二、一阶线性电路的暂态过程
只含有一个储能元件(电容器或者电感线圈)或可等效为为一个储能元件的线性电路,不论是简单的还是复杂的,它的都是一阶常系数微分方程,这种电路叫做一阶线性微分电路。含有电容器和线圈的线性电路中,由于储能元件电容器和电感线圈的能量的变化是连续的,因此,在接通或断开线性电路时,电容器的端电压和电感中的电流均不能跃变,而是随时间变化的,这一变化时间是暂短的,我们把这个暂短的变化过程,也就是过渡过程,叫做暂态过程。
如图(1)所示,如果将两只同样的白炽灯泡EL1、EL2分别与电容器C、电感线圈L串联,然后一起并联在电路中。开关S原来处于断开状态,当开关S合上时,就会看到在外加直流电源的作用下,白炽灯EL1在开关S闭合瞬间突然闪亮了一下,随着时间的延迟逐渐暗下去,直到完全熄灭;白炽灯EL2由暗逐渐变亮,最后稳定发光。
为什么两只相同的白炽灯泡在开关闭合时出现了两种不同的发光现象呢?其实在图(1)中两只灯泡分别与电容器和电感线圈串联,分别构成了RC串联电路和RL串联电路。上述现象反映了在开关闭合(换路)时,RC电路、RL电路不同的响应。这是因为开关S原来是断开的,电路中电容的端电压和通过电感的电流均为零,两个灯泡都不亮,电路处于一种稳定状态。合上开关S以后,电路经历了一个短暂的过程,电容支路电流变为零,电感支路中的电流达到一个恒定值,电路处于另一种稳定状态。
那么电路从原来的稳定状态到另一种稳定状态的变化过程中,电容器的端电压和电感中的电流的时间函数关系如何?决定暂态过程快慢的因素又是什么?下面分别以RC线性电路和RL线性电路在直流电源激励下的暂态过程进行定量分析。
线性电路分析的理论依据:线性电路暂态过程虽然短暂,但是分析电路的暂态过程涉及的知识面比较广泛,既需要有一定的电学基础知识,又需要有一定的高等数学基础知识。在电学方面,电路中瞬时电流等于通过导体截面的电量对时间的导数,即i=■。电阻元件两端的电压与通过导体的电流成正比,即uR=iR。电感线圈两端的电压与导体中的电流的变化率成正比,即uL=L■。电容元件储存的能量与它两端电压的平方成正比,即EC=■Cuc2。电感线圈储存的能量与线圈中电流的平方,即EL=■LiL2。这些基本知识是定量分析线性电路的基础。基尔霍夫闭合回路电压定律、欧姆定理、换路定律是建立电路微分方程的依据。微积分的基本计算、解一阶线性微分方程是分析线性电路暂态过程的数学工具,。
线性电路分析的基本思路:首先,由于电路的暂态过程是一个短暂的变化过程,变化前电路处于稳定状态,变化后电路处于另一个稳定状态。为了论述的方便,我们把变化前电路的稳定状态叫做原稳态,用t=0-表示。把变化后的电路的稳定状态叫做新稳态,用t=∞表示。用t=0+表示暂态过程的起始时刻。其次,我们以相关电学知识为基础,以基尔霍夫回路电压定律为依据,列回路的电压方程,建立电路的微分方程。最后,通过求解电路的微分方程,得出回路电流或电压的时间函数关系。
三、线性电路暂态过程的分析
(一)RC电路暂态过程
1.微分方程的建立。如图(2)所示,电路中的直流电源电压为U,电阻为R,电容为C。接通开关到1位置,分析电路中电容端电压随时间的变化规律。
以换路瞬间作为计时起点,令此时t=0。
设当t≥0时,电路中的电流为i,电容端电压为uC,电阻的端电压为uR。根据基尔霍夫回路电压定律,可以知道uC+uR=U,而i=C■,uR=iR。因此uC满足微分方程
RC■+uC=U。
2.电路中的电源为直流电源,电源的电压U一定,此方程的通解为uC=U-Ae■,A为常数。
式中RC为电路的时间常数,用?子表示。这样,方程的通解可以表示为uC=U-Ae■■
3.RC串联电路的三种暂态过程讨论。
(1)RC串联电路的零状态响应。将图(2)中的开关S合到1位置。直流电源开始给电容器充电,电源电压U=恒量,充电前电容端电压为零。根据换路定律,可知t=0时,uC=0。将初始条件uC|t=0=0,代入uC=U-Ae■■,得A=U。于是有uC=U(1-e■)。
这就是RC电路的零状态响应公式。
(2)RC串联电路的零输入响应。图(2)中的开关S在1位置且电路稳定后,将开关S从1位置合到2位置,电容器开始放电。这时,电路与电源断开,可以认为RC回路的电源电压为零,电容开始放电。电容放电前两端电压为U0。根据换路定律,可知t=0时,uC=U0。将初始条件uC|t=0=U0以及U=0代入uC=U-Ae■■,得A=U0。
于是uC=U0e■。这就是RC电路的零输入响应公式。
(3)RC串联电路的全响应。如图(3),开关S在1位置且电路稳定后,将开关S从1位置合到2位置。这时,电容的端电压初始值和闭合回路中的电源电压均不为零。换路后RC回路电源电压为U,电容两端的电压的初始值为U0。即t=0时,uC=U0。将uC|t=0=U0代入uC=U-Ae■■得uC=U+(U0-U)e■■或uC=U+(1-e■)+U0e■■ 这就是RC电路暂态过程的全响应公式。
4.RC电路对矩形输入脉冲电压波形的改变。输入微分电路和积分电路暂态
(二)RL电路的暂态过程
1.RL电路微分方程的建立。如图(4)所示,电路中的直流电源电压为U,电阻为R,电感为L 。仍然以换路瞬间作为计时起点,令此时t=0。当t≥0时,根据闭合回路电压定律,可以知道uL+iLR=U。
而uL=L■。于是L■+RiL=U。
2.RC电路微分方程的通解iL=■-Ae■。式中的■叫做RL电路的时间常数,用?子表示。
于是iL=■-Ae■■
3.RL串联电路的三种暂态过程的讨论。
(1)RL串联电路零状态响应。将图(3)中断开的开关S合到1位置,RL串联电路与直流电源接通。根据换路定律,t=0时,iL=0,即iL|t=0=0。将初始条件iL|t=0=0,代入iL=■-Ae■■,得A=■。于是得出RL串联电路零状态响应公式iL=■-■e■■或者iL=■(1-e■■)
(2)RL串联电路零输入响应。当图(4)电路中的开关S在1位置,且电路稳定,电路中电流为I0时,把开关S从1位置合到2位置。换路后回路中的电源电压为零。根据换路定律可知iL(0+)=iL(0-)=I0,即iL|t=0=I0。将初始条件iL|t=0=I0和U=0代入iL=■-Ae■■,得A=I0。
于是得出RL串联电路零输入响应公式iL=I0e■
(3)RL串联电路全响应。如图(5)所示,当开关S闭合时,电源电压和电路中的电流均不为零。设t=0时,iL=I0,即iL|t=0=I0。由初始条件可以确定出A=■-I0。
则iL=■+(I0-■)e■■,或iL=I0e■■+■(1-e■)。■
这就是该RL串联电路全响应公式。
(三)一阶线性电路暂态分析的一般公式
【微分代数在磁场分析器高阶像差分析中的应用】推荐阅读:
考研真题高等代数09-13
线性代数概念总结07-10
代数教学反思怎么写09-08
考研线性代数基础讲义06-23
数与代数领域学习心得07-02
线性代数自考真题解析09-24
高等代数考研试题答案10-08
线性代数模拟试题二07-06
线性代数判断题答案版09-25
数学教案-列代数式10-19