| ²é¿´: 491 | »Ø¸´: 0 | ||
makechange74Ìú³æ (СÓÐÃûÆø)
|
[ÇóÖú]
ÓÃGauss-NeutonËã·¨½â·ÇÏßÐÎ×îС¶þ³Ë·¨ÎÊÌâ
|
|
%xdata£¬ydata1ÊDzâµÃµÄÊý¾Ý syms z1 z2 z3 z4 z5 xdata = S1o; f = ydata1 - exp(z1)./(exp(z1)+exp(-z1)).*exp(-(xdata./exp(z3)).^exp(z2))+(1-exp(z1)./(exp(z1)+exp(-z1))).*exp(-(xdata./exp(z5)).^exp(z4)); x0 = [1.7380;0.9555;-1.3863;2.0149;-2.5257]; var = findsym(f); eps = 1.0e-3; minGN %minGNÊÇmÎļþÀïµÄÒ»¸öº¯Êý£¬ÓÃÓÚʵÏÖG-NËã·¨£¬Õâ¸ö³ÌÐòÊÇ×Ô¼ºÍøÉÏÕҵģ¬ºóÃæµÄ×¢ÊÍÊÇΪÁËÎÒ×Ô¼º·½±ãÀí½â×Ô¼º¼ÓµÄ£¬¾ßÌåÈçÏ£º function [x,minf] = minGN(f,x0,var,eps) format long; if nargin == 3 %Èç¹ûûÓÐÉèÖÃeps£¬Ôòeps=1.0e-6 eps = 1.0e-6; end S = transpose(f)*f; %trnsposeÊÇתÖà k = length(f); % n = length(x0); %nΪ±äÁ¿¸öÊý x0 = transpose(x0); %½«ÐÐÏòÁ¿×ªÖÃΪÁÐÏòÁ¿ tol = 1; %³õʼÈݲî A = jacobian(f,var); while tol>eps Fx = zeros(k,1); for i=1:k Fx(i,1) = Funval(f(i),var,x0); end Sx = Funval(S,var,x0); %ÇóµÃfתÖÃÓëÆä±¾ÉíÖµ Ax = Funval(A,var,x0); %Ñſ˱ȾØÕóµÄÖµ gSx = transpose(Ax)*Fx; dx = -transpose(Ax)*Ax\gSx; x0 = x0 + dx; tol = norm(dx); %tol=dx¾ø¶ÔÖµÖ®ºÍ end minf = Funval(S,var,x); format short; x = x0; %%Funvalº¯ÊýÒ²ÊÇÔÚÍøÉÏÕÒµ½µÄ×ÊÔ´£¬ºóÃæµÄ×¢ÊÍÔ±¾¾ÍÓУ¬¾ßÌåÈçÏ£º function fv = Funval(f,varvec,varval) var = findsym(f);%ÕÒ³ö±í´ïʽ ¼´fº¯Êý°üº¬µÄ±äÁ¿£¬¼´s,t varc = findsym(varvec);%ÕÒ³ö´«µÝ²ÎÊýµÄ±äÁ¿£¬¼´[t s]ÖеÄt,s s1 = length(var);%º¯ÊýµÄ¸öÊý£¬Àý×ÓÖм´s t 2¸ö s2 = length(varc);%±äÁ¿¸öÊý£¬¼´[t s]Á½¸ö m =floor((s1-1)/3+1);%floor(3.6)=3,¼´×î¿¿½ü×ó±ßµÄÕûÊý varv = zeros(1,m); if s1 ~= s2 for i=0: ((s1-1)/3) k = findstr(varc,var(3*i+1)); index = (k-1)/3; varv(i+1) = varval(index+1); end fv = subs(f,var,varv); else fv = subs(f,varvec,varval); %Èç¹ûÔÀ´º¯Êý±äÁ¿¸öÊýºÍ´«µÝµÄ²ÎÊýÖбäÁ¿¸öÊýÒ»Ö Õâµ÷ÓÃsubsº¯Êý ¼´¼ÆËãÔÚ¸øµãµã´¦µÄº¯ÊýÖµ end ÏÖÔÚÔÚÃüÁî´°¿ÚÊäÈëÉÏÊöÃüÁÌáʾ£º ´íÎóʹÓà minGN (line 6) ÊäÈë²ÎÊýµÄÊýÄ¿²»×ã¡£ ËÄܸæËßÎÒÕâÊÇʲôÔÒòÄØ£¬²ÎÊýÊýĿӦ¸ÃÊǹ»µÄ£¿ÁíÍ⣬Âé·³´óÏÀÔÙ½âÊÍһϠFunvalº¯ÊýÀïm =floor((s1-1)/3+1);ÕâÌõÓï¾äÔÚº¯ÊýµÄ×÷Óã¬ÓÈÆäÊÇΪʲôȡ((s1-1)/3+1£©£¿Ð»Ð»ÁË£¡¸Õ½Ó´¥matlab²»¾Ã£¬Ï£Íû´ó¼Ò°ïæÏÂ.ÐÂÈËûÓжàÉÙ½ð±Ò¡£¡£ |
» ²ÂÄãϲ»¶
¹þ¶û±õÀí¹¤´óѧÎïÀíϵÕÐÊÕÎïÀíѧ¿¼Ñе÷¼Á
ÒѾÓÐ7È˻ظ´
0702Ò»Ö¾Ô¸¼ª´óBÇøÇóµ÷¼Á
ÒѾÓÐ5È˻ظ´
ÎïÀíѧIÂÛÎÄÈóÉ«/·ÒëÔõôÊÕ·Ñ?
ÒѾÓÐ129È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ0È˻ظ´
0702Ò»Ö¾Ô¸¼ª´óBÇøÇóµ÷¼ÁÓÐÂÛÎÄ
ÒѾÓÐ0È˻ظ´
ÇëÎÊ»¹ÓÐûÓÐÓÃLatexдÎÄÕµÄС»ï°éÃÇ£¿
ÒѾÓÐ0È˻ظ´
¹âѧ¹¤³Ìѧ˶µ÷¼ÁÐÅÏ¢
ÒѾÓÐ31È˻ظ´
»¶Ó¼ÓÈë¿ÎÌâ×é
ÒѾÓÐ0È˻ظ´
É¢½ð±Ò£¬ÇóºÃÔË£¬×£ÃæÉÏ˳Àû£¡
ÒѾÓÐ68È˻ظ´
»ª¶«Ê¦·¶´óѧоƬÉè¼ÆÐìççÕæÊµË®Æ½Õ¦Ñù
ÒѾÓÐ1È˻ظ´
µ÷¼Á
ÒѾÓÐ0È˻ظ´













»Ø¸´´ËÂ¥