²é¿´: 876  |  »Ø¸´: 0

·ÉºèÓ¡Ñ©jay

Òø³æ (СÓÐÃûÆø)

[ÇóÖú] ÒÅ´«Ëã·¨ºÍ×îС¶þ³Ë·¨½áºÏ ÄâºÏ·ÇÏßÐÔ·½³Ì×éÓöµ½ÎÊÌâ Çó´óÉñ°ïæ¿´¿´ ʱ¼ä½ô¼±ÁË

function GA_LS2
clear all;close all;clc
data=[
0        0.590890215        0.431553748        0.111114174        0.164307696
5        0.477300105        0.495979271        0.139568658        0.181064681
10        0.396894324        0.536060613        0.167735717        0.247594176
15        0.335733264        0.543725871        0.182513065        0.235030697
20        0.268980912        0.543446351        0.199082168        0.263018724
25        0.218558133        0.543414959        0.218928771        0.301457754
30        0.16267805        0.540071789        0.249769619        0.363496193
35        0.128636265        0.523054713        0.264234746        0.415444552
40        0.097241151        0.483990339        0.266649889        0.440978169
45        0.073957065        0.449848122        0.270023805        0.468755311
50        0.062685596        0.431687277        0.278595408        0.504694097
60        0.040334681        0.386251269        0.292986268        0.596506937
70        0.022374728        0.320132412        0.28173439        0.638552746
80        0.015131643        0.27930472        0.279228981        0.695497244
90        0.008490777        0.227685253        0.266323912        0.768221053
100        0.003855323        0.182959369        0.254308566        0.820826006
110        0.002596683        0.147439246        0.234401738        0.875385242
120        0.000949164        0.121096727        0.224282059        0.931174132
];
p=data(:,1);      %pi   XÖá
Lexp=data(:,2:5); %Li   YÖá

%-------------ÒÅ´«Ëã·¨-----------------------------------------------------

options = gaoptimset('Generations',1000,'StallGenLimit',300,...
    'StallTimeLimit',50,'TolFun',1e-12,'TolCon',1e-12);
[k1,fva,reason,output,final_pop]=ga(@objfun,4,options);
options = gaoptimset('InitialPopulation',final_pop,'Generations',1000,'StallGenLimit',300,...
    'StallTimeLimit',50,'TolFun',1e-12,'TolCon',1e-12);
[k2,fva,reason,output,final_pop2]=ga(@objfun,4,options);
fprintf('\n\nÒÅ´«Ëã·¨µÄ³õʼ¹À¼ÆÊýÖµ:\n');
fprintf('\n\t²ÎÊý A0 = %.9f',k2(1));
fprintf('\n\t²ÎÊý B0 = %.9f',k2(2));
fprintf('\n\t²ÎÊý C0 = %.9f',k2(3));
fprintf('\n\t²ÎÊý D0 = %.9f',k2(4));
fprintf('\n\t²ÎÊý E0 = %.9f',k2(5));
fprintf('\n\t²ÎÊý F0 = %.9f',k2(6));

%------------------------------×îС¶þ³Ë·¨ ----------------------------------
k0=k2;
lb=[0 0 0 0 0 0];
ub=[1 1 1 1 1 1]*1e6;
OPTIONS=optimset('MaxFunEvals',1000,'TolFun',1e-12,'Algorithm','trust-region-reflective','Display','Off');
[k3,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFunc,k0,lb,ub,OPTIONS,p,Lexp);
%-----------------------------------------------------------------

%------------------½á¹ûÊä³öÓëͼÐλ¯----------------------------------------------
k=k3;
y=Lorentz(p,k,C);
fprintf('\n\n×îÖÕÄâºÏ½á¹û:\n')
fprintf(' \t²Ð²îƽ·½ºÍ= %.6e\n\n',resnorm);
fprintf('\n\t²ÎÊý a = %.9f',k(1))
fprintf('\n\t²ÎÊý b = %.9f',k(2))
fprintf('\n\t²ÎÊý c = %.9f',k(3))
fprintf('\n\t²ÎÊý d = %.9f',k(4))
fprintf('\n\t²ÎÊý c = %.9f',k(5))
fprintf('\n\t²ÎÊý d = %.9f',k(6))
n=length(p);
R2A=1-sum((Lexp(:,1)-y).^2)./sum((Lexp(:,1)-mean(Lexp(:,1))).^2);
R2B=1-sum((Lexp(:,2)-y).^2)./sum((Lexp(:,2)-mean(Lexp(:,2))).^2);
R2C=1-sum((Lexp(:,3)-y).^2)./sum((Lexp(:,3)-mean(Lexp(:,3))).^2);
R2D=1-sum((Lexp(:,4)-y).^2)./sum((Lexp(:,4)-mean(Lexp(:,4))).^2);

MSEA=1/n*sum((Lexp(:,1)-y).^2);
MSEB=1/n*sum((Lexp(:,2)-y).^2);
MSEC=1/n*sum((Lexp(:,3)-y).^2);
MSED=1/n*sum((Lexp(:,4)-y).^2);

% MAE=1/n*sum(abs(Lexp-y));
%
%
%
%
% MAS=max(abs(Lexp-y));






fprintf('\n\t¾ö¶¨ÏµÊý R-Square = %.9f',R2A);
fprintf('\n\t¾ö¶¨ÏµÊý R-Square = %.9f',R2B);
fprintf('\n\t¾ö¶¨ÏµÊý R-Square = %.9f',R2C);
fprintf('\n\t¾ö¶¨ÏµÊý R-Square = %.9f',R2D);

fprintf('\n\t¾ù·½Îó²î MSE = %.6f',MSEA);
fprintf('\n\t¾ù·½Îó²î MSE = %.6f',MSEB);
fprintf('\n\t¾ù·½Îó²î MSE = %.6f',MSEC);
fprintf('\n\t¾ù·½Îó²î MSE = %.6f',MSED);

% fprintf('\n\tƽ¾ù¾ø¶ÔÎó²î MAE = %.6f',MAE);
%
%
%
%
% fprintf('\n\t×î´ó¾ø¶ÔÎó²î MAS = %.6f',MAS);





figure
plot(p,y,'b',p,Lexp,'or'),axis([0 1.05 -0.05 1.05]),...
    text(0.05,0.95,['¾ö¶¨ÏµÊý R-Square =' num2str(R2)]),...
    text(0.05,0.85,['¾ù·½Îó²î MSE =' num2str(MSE)]),...
%     text(0.05,0.75,['ƽ¾ù¾ø¶ÔÎó²î MAE =' num2str(MAE)]),...
%     text(0.05,0.65,['×î´ó¾ø¶ÔÎó²î MAS =' num2str(MAS)]),...
    xlabel('p'),ylabel('L'),
legend('ÄâºÏ½á¹û','ԭʼÊý¾Ý','Location','Best')
%-------------------------------------------------------------------------

function f = ObjFunc(k,t,x0,Lexp)                            % Ä¿±êº¯Êý
[t, Xsim] = ode45(@Lorentz,t,x0,[],k); %ËĽ×,Îå¼¶Runge-Kuttaµ¥²½Ëã·¨
Xsim1=Xsim(:,1);
Xsim2=Xsim(:,2);
Xsim3=Xsim(:,3);
Xsim4=Xsim(:,4);
Xsim5=Xsim(:,5);
Xsim6=Xsim(:,6);
Xsim7=Xsim(:,7);
Xsim8=Xsim(:,8);

ysim(:,1) = Xsim1(2:end);
ysim(:,2) = Xsim2(2:end);
ysim(:,3) = Xsim3(2:end);
ysim(:,4) = Xsim4(2:end);
ysim(:,5) = Xsim5(2:end);
ysim(:,6) = Xsim6(2:end);
ysim(:,7) = Xsim7(2:end);
ysim(:,8) = Xsim8(2:end);

f=Lorentz(p,k,C)-Lexp(i);


%----------------¹¹ÔìÄâºÏÄ¿±êº¯Êý-------------------------------------------
function fun=objfun(k)
data=[
0        0.590890215        0.431553748        0.111114174        0.164307696
5        0.477300105        0.495979271        0.139568658        0.181064681
10        0.396894324        0.536060613        0.167735717        0.247594176
15        0.335733264        0.543725871        0.182513065        0.235030697
20        0.268980912        0.543446351        0.199082168        0.263018724
25        0.218558133        0.543414959        0.218928771        0.301457754
30        0.16267805        0.540071789        0.249769619        0.363496193
35        0.128636265        0.523054713        0.264234746        0.415444552
40        0.097241151        0.483990339        0.266649889        0.440978169
45        0.073957065        0.449848122        0.270023805        0.468755311
50        0.062685596        0.431687277        0.278595408        0.504694097
60        0.040334681        0.386251269        0.292986268        0.596506937
70        0.022374728        0.320132412        0.28173439        0.638552746
80        0.015131643        0.27930472        0.279228981        0.695497244
90        0.008490777        0.227685253        0.266323912        0.768221053
100        0.003855323        0.182959369        0.254308566        0.820826006
110        0.002596683        0.147439246        0.234401738        0.875385242
120        0.000949164        0.121096727        0.224282059        0.931174132];
p=data(:,1);     %pi
C=data(:,2:5);   %Li
n=length(t);
g1=k(1)+k(2)+k(3)+k(4);
if (k(1)<0||k(2)<0||k(3)<0||k(4)<0||g1<1)
    fun=inf;
else
for i=1:n
    FF(i)=(Lexp(i)-Lorentz(p(i),k(i),C(i)))^2;
end
fun=sum(FF);
end
%------------------------------¹¹Ôì´ýÄâºÏº¯Êý------------------------------
function f = Lorentz(p,k,C)
dCAdt =-(k(1)+k(2)+k(3))*C(1);                           
dCBdt =k(1)*C(1)-(k(4)+k(5))*C(2);
dCCdt =k(2)*C(1)+k(4)*C(2)-k(6)*C(3);
dCDdt =k(3)*C(1)+k(5)*C(2)+k(6)*C(3);
f = [dCAdt;dCBdt;dCCdt;dCDdt];
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÖÇÄÜ»úÆ÷ÈË

Robot (super robot)

ÎÒÃǶ¼°®Ð¡Ä¾³æ

ÕÒµ½Ò»Ð©Ïà¹ØµÄ¾«»ªÌû×Ó£¬Ï£ÍûÓÐÓÃŶ~

¿ÆÑдÓСľ³æ¿ªÊ¼£¬ÈËÈËΪÎÒ£¬ÎÒΪÈËÈË
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ ·ÉºèÓ¡Ñ©jay µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 0856µ÷¼Á +3 ÇóÇóÈÃÎÒÓÐÊé¶Á° 2026-03-26 4/200 2026-03-26 15:14 by ÇóÇóÈÃÎÒÓÐÊé¶Á°
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ²ÄÁÏÓ뻯¹¤£¨085600£©296Çóµ÷¼Á +6 µ¾ÆÞС±à 2026-03-26 6/300 2026-03-26 15:12 by 852137818
[¿¼ÑÐ] 321Çóµ÷¼Á +3 wasdssaa 2026-03-26 3/150 2026-03-26 14:33 by njzyff
[²ÄÁϹ¤³Ì] Ò»Ö¾Ô¸C9²ÄÁÏÓ뻯¹¤×¨Òµ×Ü·Ö300Çóµ÷¼Á +5 Âü111 2026-03-24 6/300 2026-03-26 13:04 by 13756423260
[¿¼ÑÐ] »úеѧ˶×Ü·Ö317Çóµ÷¼Á£¡£¡£¡£¡ +4 Acaciad 2026-03-25 4/200 2026-03-25 19:59 by hanserlol
[¿¼ÑÐ] 282Çóµ÷¼Á +3 wcq131415 2026-03-24 3/150 2026-03-25 12:16 by userper
[¿¼ÑÐ] 281Çóµ÷¼Á +4 Koxui 2026-03-24 5/250 2026-03-25 11:38 by userper
[¿¼ÑÐ] 07»¯Ñ§280·ÖÇóµ÷¼Á +7 722865 2026-03-23 7/350 2026-03-25 09:29 by aa331100
[¿¼ÑÐ] ²ÄÁÏ292µ÷¼Á +8 éÙËÌ˼ÃÀÈË 2026-03-23 8/400 2026-03-24 16:33 by laoshidan
[¿¼ÑÐ] »·¾³Ñ§Ë¶288Çóµ÷¼Á +8 ƤƤƤ123456 2026-03-22 8/400 2026-03-23 23:47 by ÈÈÇéɳĮ
[¿¼ÑÐ] 341Çóµ÷¼Á(Ò»Ö¾Ô¸ºþÄÏ´óѧ070300) +5 ·¬ÇÑÍ·--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[¿¼ÑÐ] ¹¤¿Æ0856Çóµ÷¼Á +5 ãåÎö͡͡ 2026-03-21 5/250 2026-03-23 17:56 by º£ÉªÞ±-
[¿¼ÑÐ] 276Çóµ÷¼Á +3 YNRYG 2026-03-21 4/200 2026-03-23 08:31 by ×íÔÚ·çÀï
[¿¼ÑÐ] Çóµ÷¼ÁÒ»Ö¾Ô¸º£´ó£¬0703»¯Ñ§Ñ§Ë¶304·Ö£¬Óдó´´ÏîÄ¿£¬Ëļ¶Òѹý +6 ÐÒÔËÁ¨Á¨ 2026-03-22 10/500 2026-03-22 20:10 by edmund7
[¿¼ÑÐ] 324Çóµ÷¼Á +6 luckyѽѽѽѼ 2026-03-20 6/300 2026-03-22 16:01 by ColorlessPI
[¿¼ÑÐ] ÉúÎïѧµ÷¼Á +5 Surekei 2026-03-21 5/250 2026-03-22 14:39 by tcx007
[¿¼ÑÐ] Çóµ÷¼Á +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by ËØÑÕÇã³Ç1988
[¿¼ÑÐ] 0703»¯Ñ§297Çóµ÷¼Á +3 Daisy¡î 2026-03-20 3/150 2026-03-21 17:45 by ColorlessPI
[¿¼ÑÐ] Çóµ÷¼Á +3 °×QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[¿¼ÑÐ] Ò»Ö¾Ô¸ ÄϾ©º½¿Õº½Ìì´óѧ´óѧ £¬080500²ÄÁÏ¿ÆÑ§Ó빤³Ìѧ˶ +5 @taotao 2026-03-20 5/250 2026-03-20 20:16 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û