1、abx0,u(1),u(2),x1(1);yuce1=subs(x,t,0:n-1);digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解yuce=x0(1),diff(yuce1)epsilon=x0-yuce %计算残差delta=abs(epsilon./x0) %计算相对误差rho=1-(1-0.5*u(1)/(1+0.5*u(1)*lamda %计算级比偏差值%以深圳人口数据得到预测模型及预测误差相关数据lamda = Columns 1 through 8 0.9741 0.9611 0.9419 0.8749 0.9311 0.9093 0.9
2、302 0.9254 Columns 9 through 16 0.9245 0.9278 0.9442 0.9376 0.9127 0.9148 0.9332 0.9477 Columns 17 through 24 0.9592 0.9445 0.9551 0.9562 0.9594 0.9461 0.9469 0.9239 Columns 25 through 31 0.9140 0.9077 0.9243 0.9268 0.9312 0.9446 0.9618range = 0.8749 0.9741x1 = 1.0e+003 * 0.0313 0.0634 0.0967 0.1322
3、 0.1727 0.2162 0.2641 0.3155 0.3711 0.4313 0.4961 0.5647 0.6380 0.7182 0.8059 0.8999 0.9990 1.1024 1.2119 1.3265 1.4463 1.5712 1.7033 1.8427 Columns 25 through 32 1.9936 2.1588 2.3407 2.5375 2.7499 2.9780 3.2194 3.4705u = -0.0665 31.3737y =-472.117+503.377*exp(.664533e-1*t)yuce = 31.2600 34.5876 36.
4、9641 39.5040 42.2183 45.1192 48.2194 51.5326 55.0734 58.8576 62.9017 67.2238 71.8428 76.7792 82.0548 87.6928 93.7183 100.1578 107.0397 114.3945 122.2547 130.6550 139.6324 149.2267 159.4802 170.4382 182.1492 194.6649 208.0405 222.3352 237.6121 253.9386epsilon = 0 -2.4976 -3.5741 -4.0540 -1.6983 -1.59
5、92 -0.3594 -0.0826 0.5266 1.2824 1.9183 1.4262 1.3772 3.4408 5.6352 6.2772 5.4417 3.2222 2.4203 0.2055 -2.4047 -5.7350 -7.5924 -9.7767 -8.5502 -5.3082 -0.2192 2.1651 4.3395 5.7348 3.8379 -2.9086delta = 0 0.0778 0.1070 0.1144 0.0419 0.0367 0.0075 0.0016 0.0095 0.0213 0.0296 0.0208 0.0188 0.0429 0.064
6、3 0.0668 0.0549 0.0312 0.0221 0.0018 0.0201 0.0459 0.0575 0.0701 0.0567 0.0321 0.0012 0.0110 0.0204 0.0251 0.0159 0.0116rho = -0.0411 -0.0271 -0.0066 0.0650 0.0049 0.0282 0.0058 0.0110 0.0119 0.0084 -0.0091 -0.0020 0.0245 0.0223 0.0027 -0.0128 -0.0251 -0.0094 -0.0208 -0.0219 -0.0254 -0.0111 -0.0119
7、0.0126 0.0232 0.0300 0.0122 0.0095 0.0048 -0.0095 -0.0280二、遗传算法程序代码% Optimizing a function using Simple Genetic Algorithm with elitist preserved%Max f(x1,x2)=100*(x1*x1-x2).2+(1-x1).2; -2.0480=x1,x2=bestvbestv=fmax;%到目前为止最优适应度值bvalxx=bval(indmax,:%到目前为止最佳位串optxx=xx(indmax,:%到目前为止最优参数endBfit1(ii)=bes
8、tv; % 存储每代的最优适应度%遗传操作开始%轮盘赌选择(N-1)r=rand;tmp=find(r=q);newbval(i,:)=bval(tmp(1),:end newbval(N,:)=bvalxx;%最优保留bval=newbval;%单点交叉2:cc=rand;if ccpcpoint=ceil(rand*(2*L-1);%取得一个1到2L-1的整数ch=bval(i,:bval(i,point+1:2*L)=bval(i+1,point+1:2*L);bval(i+1,point+1:2*L)=ch(1,point+1:bval(N,:%位点变异mm=rand(N,2*L)p_
9、best_fitness(count_x)p_best_fitness(count_x) = current_fitness(count_x);%decide on the global best among all the particlesg_best_val,g_best_index = max(current_fitness);%g_best contains the position of teh global bestg_best(count_y) = particle_position(g_best_index,count_y);%update the position and
10、velocity compponentsp_current(count_y) = particle_position(count_x,count_y);particle_velocity(count_y) = particle_velocity(count_y) + c1*rand*(p_best(count_y)-p_current(count_y) + c2*rand*(g_best(count_y)-p_current(count_y);particle_positon(count_x,count_y) = p_current(count_y) +particle_velocity(co
11、unt_y);g_bestcurrent_fitness(g_best_index)clear all, clc % pso exampleiter = 1000; % number of algorithm iterationsnp = 2; % number of model parametersns = 10; % number of sets of model parametersWmax = 0.9; % maximum inertial weightWmin = 0.4; % minimum inertial weightc1 = 2.0; % parameter in PSO m
12、ethodologyc2 = 2.0;Pmax = 10 10; % maximum model parameter valuePmin = -10 -10; % minimum model parameter valueVmax = 1 1; % maximum change in model parameterVmin = -1 -1; % minimum change in model parametermodelparameters(1:np,1:ns) = 0; % set all model parameter estimates for all model parameter s
13、ets to zeromodelparameterchanges(1: % set all change in model parameter estimates for all model parameter sets to zerobestmodelparameters(1: % set best model parameter estimates for all model parameter sets to zerosetbestcostfunction(1:ns) = 1e6; % set best cost function of each model parameter set
14、to a large numberglobalbestparameters(1:np) = 0; % set best model parameter values for all model parameter sets to zerobestparameters = globalbestparameters % best model parameter values for all model parameter sets (to plot)globalbestcostfunction = 1e6; % set best cost function for all model parame
15、ter sets to a large numberi = 0; % indicates ith algorithm iterationj = 0; % indicates jth set of model parametersk = 0; % indicates kth model parameterfor k = 1:np % initializationfor j = 1:nsmodelparameters(k,j) = (Pmax(k)-Pmin(k)*rand(1) + Pmin(k); % randomly distribute model parametersmodelparam
16、eterchanges(k,j) = (Vmax(k)-Vmin(k)*rand(1) + Vmin(k); % randomly distribute change in model parametersfor i = 2:iterx = modelparameters(:,j);% calculate cost functioncostfunction = 105*(x(2)-x(1)2)2 + (1-x(1)2;if costfunction =T_min iter_num=1; s_num=1; plot(T,totaldis1,r. hold on while iter_numite
17、r_max&s_nums_max; order2=exhgpath(order1); %随机交换两个城市位置 totaldis2=distance(address,order2); R=rand; DeltaDis=totaldis2-totaldis1; %新的距离-原来的距离 if DeltaDisR)%本算法最核心的思想:以一定概率接受坏的结果,防止局部最优 else s_num=s_num+1; iter_num=iter_num+1; T=T*0.99; set(gca,xscalelog%或者使用semilogx,有相同效果 xlabel(退火温度ylabel(总距离 order1 totaldis1 figure(3) plot(address(order1,1)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1