| ²é¿´: 795 | »Ø¸´: 4 | |||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||
heio½ð³æ (СÓÐÃûÆø)
|
[ÇóÖú]
matlabÇóÖú
|
||
|
±¾ÈË´òËãÓÃmatlab´¦ÀíÊý¾ÝÖеÄÇ÷ÊÆÏîÎÊÌâ µ«ÎÞ·¨ÔËÐÐ ¹òÇó¸ßÊÖÖ¸µã ³ÌÐòÈçÏ %»¬¶¯Æ½¾ù·¨Ïû³ýÇ÷ÊÆÏî clear clc close all hidden fni=input('ÊäÈëÊý¾ÝÎļþÃû³Æ','s'); fid=fopen(fni,'r') sf=fscanf(fid,'%f',1); %¶ÁÈë²ÉÑùƵÂÊÖµ l=fscanf(fid,'%d',1); %¶ÁÈ뻬¶¯½×´Î m=fscanf(fid,'%d',1); %¶ÁÈëÆ½»¬´ÎÊý fno=fscanf(fid,'%d',1); %¶ÁÈëÊä³öÊý¾ÝÎļþÃû x=fscanf(fid,'%f',inf); %¶ÁÈëʱ³ÌÊý¾Ý´æ³ÉÁÐÏòÁ¿ status=fclose(fid); n=length(x); t=(0:1/sf : (n-1)/sf); b=ones(1,l); a=[b*x(1),x,b*x(n)]; b=a; for k=1:m for j=l+1:n-1 b(j)=mean(a(j-1:j+1)); end a=b; end y=x(1:n)-a(l+1:n+l); plot(t,x,':',t,y,t,a(l+1:n+l),'-.'); xlabel('ʱ¼ä(s)'); ylabel('Î»ÒÆ mm'); legend('ÊäÈë','Êä³ö','Ç÷ÊÆ'); grid on; fid=fopen(fno,'w'); for k=1:n fprintf(fid,'%f%f\n',t(k),y(k)); end status=fclose(fid); [ Last edited by heio on 2012-8-9 at 10:29 ] |
» ²ÂÄãϲ»¶
0703 »¯Ñ§ Çóµ÷¼Á£¬Ò»Ö¾Ô¸É½¶«´óѧ 342 ·Ö
ÒѾÓÐ3È˻ظ´
0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ
ÒѾÓÐ9È˻ظ´
0856Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
085701Çóµ÷¼Á³õÊÔ286·Ö
ÒѾÓÐ4È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
316Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
315Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ²ÄÁÏÓ뻯¹¤£¨085600£©296Çóµ÷¼Á
ÒѾÓÐ11È˻ظ´
332Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
±¾¿ÆÐÂÄÜÔ´¿ÆÑ§Ó빤³Ì£¬Ò»Ö¾Ô¸»ªÀíÄܶ¯285Çóµ÷¼Á
ÒѾÓÐ11È˻ظ´
Са®Ð¡°×
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1365.5
- ºì»¨: 1
- Ìû×Ó: 80
- ÔÚÏß: 51.8Сʱ
- ³æºÅ: 1919956
- ×¢²á: 2012-08-01
- ÐÔ±ð: GG
- רҵ: ¹¤³Ì¹ÜÀí
|
Function [eval]=targetalloc (chrom) [m,n]=size(chrom); p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75]; w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57]; for i=1:m for j=1:15 chrom(i,j)=p(chrom(i,j),j); end; end eval=chrom*w'; NIND=40; MAXGEN=50; GGAP=0.9; trace=zeros(MAXGEN,2); BaseV=crtbase(15,8); Chrom=crtbp(NIND,BaseV)+ones(NIND,15); gen=0; ObjV=taretalloc(Chrom); while gen SelCh=select('sus',Chrom,FitnV,GGAP); SelCh=recombin('xovsp',SelCh,0.7); f=rep([1;8],[1,15]); SelCh=mutbga(SelCh,f);SelCh=fix(SelCh); ObjVSel=taretalloc(SelCh); [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; trace(gen,1)=max(ObjV); trace(gen,2)=sum(ObjV)/length(ObjV); end [Y,I]=max(ObjV);Chrom(I, ,Yplot(trace(:,1),'-.');hold on; plot(trace(:,2));grid Legend('½âµÄ±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯') Õâ¸ö³ÌÐòÓÐʲôÎÊÌ⣬Ôõô×ÜÊÇÌáʾ´íÎó£¬Ò²ÔËÐв»ÁËÄØ£¿»òÕßÇëÖ¸½ÌÔõôÔÚMatlab 7.7.0£¨R2008b£©Àï±ß¾ßÌå²½Öè¡£ O(¡É_¡É)Oлл |

4Â¥2012-08-11 20:08:25
csgt0
ÈÙÓþ°æÖ÷ (ÖøÃûдÊÖ)
²ÊÉ«¹Òͼ
-

ר¼Ò¾Ñé: +2 - Ó¦Öú: 367 (˶ʿ)
- ¹ó±ö: 0.457
- ½ð±Ò: 7807
- É¢½ð: 8897
- ºì»¨: 20
- ɳ·¢: 7
- Ìû×Ó: 2809
- ÔÚÏß: 515.8Сʱ
- ³æºÅ: 449046
- ×¢²á: 2007-11-02
- רҵ: ½ðÊô·Ç¾§Ì¬¡¢×¼¾§ºÍÄÉÃ×¾§
- ¹ÜϽ: ¼ÆËãÄ£Äâ

2Â¥2012-08-09 10:51:34
heio
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1363.9
- É¢½ð: 41
- Ìû×Ó: 167
- ÔÚÏß: 66.1Сʱ
- ³æºÅ: 1334666
- ×¢²á: 2011-06-30
- ÐÔ±ð: GG
- רҵ: ¹âѧ
3Â¥2012-08-09 12:32:10
Са®Ð¡°×
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1365.5
- ºì»¨: 1
- Ìû×Ó: 80
- ÔÚÏß: 51.8Сʱ
- ³æºÅ: 1919956
- ×¢²á: 2012-08-01
- ÐÔ±ð: GG
- רҵ: ¹¤³Ì¹ÜÀí
|
Function [eval]=targetalloc (chrom) [m,n]=size(chrom); p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75]; w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57]; for i=1:m for j=1:15 chrom(i,j)=p(chrom(i,j),j); end; end eval=chrom*w'; NIND=40; MAXGEN=50; GGAP=0.9; trace=zeros(MAXGEN,2); BaseV=crtbase(15,8); Chrom=crtbp(NIND,BaseV)+ones(NIND,15); gen=0; ObjV=taretalloc(Chrom); while gen SelCh=select('sus',Chrom,FitnV,GGAP); SelCh=recombin('xovsp',SelCh,0.7); f=rep([1;8],[1,15]); SelCh=mutbga(SelCh,f);SelCh=fix(SelCh); ObjVSel=taretalloc(SelCh); [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; trace(gen,1)=max(ObjV); trace(gen,2)=sum(ObjV)/length(ObjV); end [Y,I]=max(ObjV);Chrom(I, ,Yplot(trace(:,1),'-.');hold on; plot(trace(:,2));grid Legend('½âµÄ±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯') Õâ¸ö³ÌÐòÓÐʲôÎÊÌ⣬Ôõô×ÜÊÇÌáʾ´íÎó£¬Ò²ÔËÐв»ÁËÄØ£¿»òÕßÇëÖ¸½ÌÔõôÔÚMatlab 7.7.0£¨R2008b£©Àï±ß¾ßÌå²½Öè¡£ O(¡É_¡É)Oлл |

5Â¥2012-08-11 20:08:42














»Ø¸´´ËÂ¥
,Y
heio