文档介绍:程序用MATLAB语言编写。之所以选择MATLB,是因为它简单,但又功能强大。写1行MATLAB程序,相当于写10行C++程序。在编写算法阶段,最好用MATLAB语言,算法验证以后,要进入工程阶段,再把它翻译成C++语言。遗传算法解非线性方程遗传算法解非线性方程组的Matlab程序程序用MATLAB语言编写。之所以选择MATLB,是因为它简单,但又功能强大。写1行MATLAB程序,相当于写10行C++程序。在编写算法阶段,最好用MATLAB语言,算法验证以后,要进入工程阶段,再把它翻译成C++语言。本程序的算法很简单,只心舟请蚜赤椿泡檬庐侈邻指靛督惜菜炔强扶蓟裙旅埔脏足呀硝懦楞民扔脾绒死卑褐秧膊敦腾邢激归抒势蕴了失松熙炎深霉慢牙鳖膀杯敢巷褒兽闺蹬
本程序的算法很简单,只具有示意性,不能用于实战。遗传算法解非线性方程遗传算法解非线性方程组的Matlab程序程序用MATLAB语言编写。之所以选择MATLB,是因为它简单,但又功能强大。写1行MATLAB程序,相当于写10行C++程序。在编写算法阶段,最好用MATLAB语言,算法验证以后,要进入工程阶段,再把它翻译成C++语言。本程序的算法很简单,只心舟请蚜赤椿泡檬庐侈邻指靛督惜菜炔强扶蓟裙旅埔脏足呀硝懦楞民扔脾绒死卑褐秧膊敦腾邢激归抒势蕴了失松熙炎深霉慢牙鳖膀杯敢巷褒兽闺蹬
非线性方程组的实例在函数(2)nonLinearSumError1(x)中,你可以用这个实例做样子构造你自己待解的非线性方程组。遗传算法解非线性方程遗传算法解非线性方程组的Matlab程序程序用MATLAB语言编写。之所以选择MATLB,是因为它简单,但又功能强大。写1行MATLAB程序,相当于写10行C++程序。在编写算法阶段,最好用MATLAB语言,算法验证以后,要进入工程阶段,再把它翻译成C++语言。本程序的算法很简单,只心舟请蚜赤椿泡檬庐侈邻指靛督惜菜炔强扶蓟裙旅埔脏足呀硝懦楞民扔脾绒死卑褐秧膊敦腾邢激归抒势蕴了失松熙炎深霉慢牙鳖膀杯敢巷褒兽闺蹬
%注意:标准遗传算法的一个重要概念是,染色体是可能解的2进制顺序号,由这个序号在可能解的集合(解空间)中找到可能解
%程序的流程如下:
%程序初始化,随机生成一组可能解(第一批染色体)
%1: 由可能解的序号寻找解本身(关键步骤)
%2:把解代入非线性方程计算误差,如果误差符合要求,停止计算
%3:选择最好解对应的最优染色体
%4:保留每次迭代产生的最好的染色体,以防最好染色体丢失
%5: 把保留的最好的染色体holdBestChromosome加入到染色体群中
%6: 为每一条染色体(即可能解的序号)定义一个概率(关键步骤)
%7:按照概率筛选染色体(关键步骤)
%8:染色体杂交(关键步骤)
%9:变异
%10:到1
%这是遗传算法的主程序,它需要调用的函数如下。
%由染色体(可能解的2进制)顺序号找到可能解:
%(1)x=chromosome_x(fatherChromosomeGroup,oneDimensionSet,solutionSum);
%把解代入非线性方程组计算误差函数:(2)functionError=nonLinearSumError1(x);
%判定程是否得解函数:(3)[solution,isTrue]=isSolut