[問題]ga工具箱中fitness function寫法

看板MATLAB作者 (P=MC)時間13年前 (2013/02/07 22:44), 編輯推噓0(0017)
留言17則, 2人參與, 最新討論串1/1
以下是我寫的fitness function 但是我實際利用matlab 內建ga 工具箱運作時 卻一直跑出error 我想請問我這函數 是否有那裡寫錯 語法或邏輯?? 利用ga工具箱最終結果應會跑出b(1),b(2),b(3)最佳解出來 謝謝 function rp = store(b) global x; global y; global xlag; global t; global trim_; trim_=.05; k=1; load aniexc.mat; dat=aniexc; n=length(dat(:,1)); y=dat(2+k:n,:)-dat(1+k:n-1,:); t=length(y(:,1)); xlag=dat(1+k:n-1,:); j=1; while j<=k x=[ones(t,1),dat(2+k-j:n-j,:)-dat(1+k-j:n-1-j,:)]; j=j+1; end; xx=inv(x'*x); u=y-x*xx*(x'*y); w=xlag*[1;-b(1);-b(2)]; z=[w,x]; d1=(w<=b(3)); n1=sum(d1)'; if min([n1;t-n1])/t>trim_ zj=[(z.*(d1*ones(1,length(z(1,:))))),w]; zzj=zj-x*xx*(x'*zj); warning off; lastwarn(' '); bz=(u'/zzj')'; [mw,idw] = lastwarn; lastwarn(' '); warning on; if (1-mw==' '); bz=pinv(zzj'*zzj)*(zzj'*u); end; end; rp = (t/2)*log(det((u-zzj*bz)'*(u-zzj*bz)/t)); end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.125.103

02/10 22:39, , 1F
錯誤訊息? 呼叫方的程式碼? b變數在哪? aniexc.mat存了什麼?
02/10 22:39, 1F

02/11 07:59, , 2F
b變數是b(1)b(2)b(3)這是ga toolbox自己會產生值出來
02/11 07:59, 2F

02/11 08:00, , 3F
然後aniexc.mat 裡面是240*3 矩陣資料
02/11 08:00, 3F

02/11 08:03, , 4F
錯誤訊息是
02/11 08:03, 4F

02/11 08:03, , 5F
Undefined function or method 'store' for input
02/11 08:03, 5F

02/11 08:03, , 6F
arguments of type 'double'
02/11 08:03, 6F

02/11 08:08, , 7F
我是使用optimazation 中genetic algorithm
02/11 08:08, 7F

02/11 08:11, , 8F
會不會是因為這工具箱不能設這樣的函數
02/11 08:11, 8F

02/11 10:01, , 9F
還有一個錯誤是顯示Output argument "rp" (and maybe ot
02/11 10:01, 9F

02/11 10:02, , 10F
not assigned during call to "C:\Users\henry chen\Des
02/11 10:02, 10F

02/12 19:51, , 11F
呼叫方程式碼出錯,你應po出有呼叫ga函式的程式碼
02/12 19:51, 11F

02/14 23:24, , 12F
可是我這是使用ga工具箱
02/14 23:24, 12F

02/14 23:26, , 13F
我呼叫函數的方式 就是在他要求的空格鍵入@store
02/14 23:26, 13F

02/15 23:10, , 14F
可能是路徑沒設到store.m的資料夾。假設你的store.m在"C:\abc"
02/15 23:10, 14F

02/15 23:11, , 15F
先執行 cd "C:\abc" 然後再開啟 ga 工具箱
02/15 23:11, 15F

02/16 09:21, , 16F
謝謝 我試出來了
02/16 09:21, 16F

02/16 09:26, , 17F
似乎是我沒設rp起始值 rp=0
02/16 09:26, 17F
文章代碼(AID): #1H4xstiq (MATLAB)