遺傳演算法matlab圖
1. MATLAB遺傳演算法擬合
代碼:
function y=myfung(x)
% TOT =[2.057 3.6094 4.9881 6.0189 6.8371 7.4881 8.0047 8.4151 8.7411 9.0000];
% t=[1:10];
% [r,s]=size(TOT);
% y=0;
% for i=1:s
% y=y+(TOT(i)-x(:,1)*(1 -exp(-x(:,2)*t(i))))^2 %最小估計原則
% end
%
x1=[-0.05 0.25 0.60 0 0.25 0.20 0.15 0.05 -0.15 0.15 0.20 0.10 0.40 0.45 0.35 0.30 0.50 0.50 0.40 -0.05 -0.05 -0.10 0.20 0.10 0.50 0.60 -0.05 0 0.05 0.55];
x2=[5.50 6.75 7.25 5.50 7.00 6.50 6.75 5.25 5.25 6.00 6.50 6.25 7.00 6.90 6.80 6.80 7.10 7.00 6.80 6.50 6.25 6.00 6.50 7.00 6.80 6.80 6.50 5.75 5.80 6.80];
y0=[7.38 8.51 9.52 7.50 9.33 8.28 8.75 7.87 7.10 8.00 7.89 8.15 9.10 8.86 8.90 8.87 9.26 9.00 8.75 7.95 7.65 7.27 8.00 8.50 8.75 9.21 8.27 7.67 7.93 9.26];
x3=x1.*x2;
TOT=y0;
[r,s]=size(TOT);
y=0;
for i=1:s
y2=x(:,1)+x(:,2).*x1(i)+x(:,3).*x2(i)+x(:,4).*x2(i)^2+x(:,5).*x3(i);
y=y+(TOT(i)-y2)^2 %最小估計原則
end
end
參數依次為
-1.151 5.652 -0.212 0.267 -1.165
每一次運算結果會有差異,因此起始值是隨機的,所以優化過程也是不同的。
2. 遺傳演算法matlab解決路徑問題,最後的圖已經有了,但是沒有最後的路徑點,怎麼求出結果
你指的路程圖是經過最大遺傳代數後的優化數據圖嗎?路徑圖是指每次迭代的控制變數數據嗎、
3. matlab 遺傳演算法
fitness function是適應度函數,function handle 函數句柄,你運行的是別人寫的東西吧,試試自己寫,其實很簡單。
4. 求一個用matlab編程遺傳演算法的程序,以確定一個圖形的大致范圍的,謝謝!
可以調用遺傳演算法工具箱。最好給個例子。謝謝。答好了可以追加20分。問題我給你查了一下,網上暫時找不到合適的matlab代碼,相關的文獻還是有的。
5. MATLAB如何畫遺傳演算法,
目前的MATLAB都直接集成了遺傳演算法工具箱,你可以直接在cmd窗口打:gatool,就出來一個GUI界面,自己版填寫上面的參數,直接運權行就可以了,可以多種圖形,也是可選的,還可以選擇在File中的generate code,產生m代碼,你可以根據自己的需求修改代碼,畫自己想要的圖形。
6. matlab,遺傳演算法,求大佬幫忙
用遺抄傳演算法求最大值問題,可以這樣來解決。
1、將最大值問題轉換為最小值問題,即 max Z =- min Z;
2、建立其自定義函數,即
z=-(f1*40^1.5/1+f2*30^1.5/2+f2*20^1.5/2+。。。+f12*127^1.5/2+f12*5^1.5/4)
其中:f1,f2,f3,。。。f11,f12為0,1變數,可以用sign()符號函數來處理。
3、用遺傳演算法ga()函數求解,使用方法
objectivef=@ga_func;
nvars=12;
[x, fval] =ga(objectivef,nvars)
4、編程運行後得到
f1=1,f2=1,f3=1,f4=0,f5=1,f6=0,f7=1,f8=1,f9=1,f10=1,f11=1,f12=1
Zmax=27329.5018
7. 用matlab實現的遺傳演算法
f=inline('-(x+10*sin(5*x)+7*cos(4*x))');
[x,val]=ga(f,1,[],[],[],[],0,9);
x,val=-val%註:由於遺傳法的不確定性,每次得到的解可能不專同。
——屬——————————————————————————————
ga是matlab自帶的遺傳工具箱中的遺傳演算法函數,其中已經用到了選擇、交叉、變異,你如果想知道其具體是怎麼實現的,可以自己打開ga的源程序去看。