| ²é¿´: 907 | »Ø¸´: 5 | ||||
jydtjmгæ (³õÈëÎÄ̳)
|
[ÇóÖú]
¹ØÓÚNewton-pcg·¨½â·½³ÌµÄ±à³Ì˼· ÒÑÓÐ1È˲ÎÓë
|
| ÏȰÝл£¬ÓÃNewton-pcg·¨½â·½³Ì£¬ÓÃMATLAB±à³Ì£¬±à³ÌÖ÷¿ò¼ÜÓ¦¸ÃÈçºÎд£¿£¿£¿ÓÐÄÄλ´óÉñ¿ÉÒÔ°ïæ½â´ð£¬Ð»Ð»£¬·Ç³£¸Ðл£¬ÒòΪĿǰֻÓÐÕâô¶à½ð±Ò£¬Çë¶®ÕâÒ»·½ÃæµÄ´óÉñ´Í½Ì£¬ÔٴθÐл£¡£¡£¡ |
» ²ÂÄãϲ»¶
0854µç×ÓÐÅÏ¢Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
0854È˹¤ÖÇÄÜ·½ÏòÕÐÊÕµ÷¼Á
ÒѾÓÐ3È˻ظ´
µ÷¼Á
ÒѾÓÐ4È˻ظ´
Ò»Ö¾Ô¸±±»¯315 Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
ÓлúºÏ³ÉÇóÖú
ÒѾÓÐ5È˻ظ´
²ÄÁÏѧ˶333Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
289Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
ÊÕ08µ÷¼ÁÉú
ÒѾÓÐ6È˻ظ´
²ÄÁÏר˶ÕÒµ÷¼Á
ÒѾÓÐ5È˻ظ´
085602 289·ÖÇóµ÷¼Á
ÒѾÓÐ5È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
Newton-raphson·½·¨Çó½âÓëʱ¼äÓйصķÇÏßÐÔ·½³Ì£¬ÇúÏßÓÐÍ»±ä
ÒѾÓÐ9È˻ظ´
ÓÃmatlab±à³Ì½âËÄÔª·ÇÏßÐÔ·½³Ì£¬¼±£¬ÔÚÏßµÈ
ÒѾÓÐ3È˻ظ´
·ÖÊý½×΢·Ö·½³ÌµÄÇó½â£¨Óòî·Ö·¨£¬matlab±à³ÌÇó½â£©
ÒѾÓÐ9È˻ظ´
ÇóºÍ·ûºÅÏà³ËµÄ·½³ÌÔõô±à³ÌÇóÊýÖµ½â
ÒѾÓÐ7È˻ظ´
Matlab£ºNewton-Raphson ½âÏß·ÇÏßÐÔÐÔ·½³Ì×éµÄÎÊÌâ
ÒѾÓÐ12È˻ظ´
¡¾ÌÖÂÛ¡¿ÎÒÊÕ¼¯µ½µÄ״̬·½³Ì±à³Ì
ÒѾÓÐ7È˻ظ´
¡¾ÇóÖú¡¿ÇóÖú£ºvb±à³ÌÖÐÓÃÅ£¶Ùµü´ú½âÈý´Î·½³ÌΪʲôֻµÃµ½Ò»¸ö¸ù£¿¡¾ÒÑÍê³É¡¿
ÒѾÓÐ15È˻ظ´
jydtjm
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 97
- Ìû×Ó: 16
- ÔÚÏß: 4.1Сʱ
- ³æºÅ: 3763602
- ×¢²á: 2015-03-25
- רҵ: »úеĦ²ÁѧÓë±íÃæ¼¼Êõ
2Â¥2015-03-30 15:54:27
wurongjun
ר¼Ò¹ËÎÊ (Ö°Òµ×÷¼Ò)
-

ר¼Ò¾Ñé: +831 - ÊýѧEPI: 9
- Ó¦Öú: 791 (²©ºó)
- ¹ó±ö: 0.308
- ½ð±Ò: 24609
- É¢½ð: 310
- ºì»¨: 75
- Ìû×Ó: 3004
- ÔÚÏß: 881.4Сʱ
- ³æºÅ: 1368482
- ×¢²á: 2011-08-14
- ÐÔ±ð: GG
- רҵ: ¼ÆËãÊýѧÓë¿ÆÑ§¹¤³Ì¼ÆËã
- ¹ÜϽ: Êýѧ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
|
ÒÔǰÓÐÈËÎʹýÕâ¸ö! ÔÙ¸øÄãÌùÒ»ÏÂ: function [x,val,k]=frcg(fun,gfun,x0) % ¹¦ÄÜ: ÓÃFR¹²éîÌݶȷ¨Çó½âÎÞÔ¼ÊøÎÊÌâ: min f(x) %ÊäÈë: x0Êdzõʼµã, fun, gfun·Ö±ðÊÇÄ¿±êº¯ÊýºÍÌÝ¶È %Êä³ö: x, val·Ö±ðÊǽüËÆ×îÓŵãºÍ×îÓÅÖµ, kÊǵü´ú´ÎÊý. maxk=5000; %×î´óµü´ú´ÎÊý rho=0.6;sigma=0.4; k=0;epsilon=1e-4; n=length(x0); while(k<maxk) g=feval(gfun,x0); %¼ÆËãÌÝdu itern=k-(n+1)*floor(k/(n+1)); itern=itern+1; %¼ÆËãËÑË÷·½Ïò if(itern==1) d=-g; else beta=(g'*g)/(g0'*g0); d=-g+beta*d0; gd=g'*d; if(gd>=0.0) d=-g; end end if(norm(g)<epsilon),break;end %¼ìÑéÖÕÖ¹Ìõ¼þ m=0;mk=0; while(m<20) %ArmijoËÑË÷ if(feval(fun,x0+rho^m*d)<feval(fun,x0)+sigma*rho^m*g'*d) mk=m;break; end m=m+1; end x0=x0+rho^mk*d; val=feval(fun,x0); g0=g;d0=d; k=k+1; end x=x0; val=feval(fun,x); function g=gfun(x) g=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1),-200*(x(1)^2-x(2))]'; function f=fun(x) f=100*(x(1)^2-x(2))^2+(x(1)-1)^2; |

3Â¥2015-03-30 17:16:29
jydtjm
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 97
- Ìû×Ó: 16
- ÔÚÏß: 4.1Сʱ
- ³æºÅ: 3763602
- ×¢²á: 2015-03-25
- רҵ: »úеĦ²ÁѧÓë±íÃæ¼¼Êõ
4Â¥2015-03-30 21:21:45
wurongjun
ר¼Ò¹ËÎÊ (Ö°Òµ×÷¼Ò)
-

ר¼Ò¾Ñé: +831 - ÊýѧEPI: 9
- Ó¦Öú: 791 (²©ºó)
- ¹ó±ö: 0.308
- ½ð±Ò: 24609
- É¢½ð: 310
- ºì»¨: 75
- Ìû×Ó: 3004
- ÔÚÏß: 881.4Сʱ
- ³æºÅ: 1368482
- ×¢²á: 2011-08-14
- ÐÔ±ð: GG
- רҵ: ¼ÆËãÊýѧÓë¿ÆÑ§¹¤³Ì¼ÆËã
- ¹ÜϽ: Êýѧ

5Â¥2015-03-31 08:26:17
jydtjm
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 97
- Ìû×Ó: 16
- ÔÚÏß: 4.1Сʱ
- ³æºÅ: 3763602
- ×¢²á: 2015-03-25
- רҵ: »úеĦ²ÁѧÓë±íÃæ¼¼Êõ
6Â¥2015-03-31 14:57:49













»Ø¸´´ËÂ¥