A. MATLAB中的ga演算法,如何如何獲得每一步計算數值
試試以下來方法(忘了在網上自哪裡找的),先調出來圖像,
比如options.PlotFcns={ @gaplotbestf},然後取句柄,
h=findobj(gcf,'Type','Line'); %獲取當前圖窗的handle
x = get(h,'xdata'); % 坐標數據cell數據
y = get(h,'ydata');
x,y可能是cell型,想要的數據在x{ }, y{ }里取(比如,打開x,y,查看x,y與你迭代步數相同的維度的兩個cell元素就有最佳值和均值等數據)
B. 求matlab遺傳演算法的GA工具箱,謝謝大家,第一次用百度知道,希望有好的結果
可以告訴我你是做什麼的,我在大學的時候用過,現在忘了,你參加了大學生數學建模?
C. matlab遺傳演算法工具箱使用ga運行不出結果哪裡錯了
可能的原因是:
1.gatbx工具箱下的crtbp函數的文件名為CRTBP.M,大小寫不統一所以出現了內warning,需要把把它改容為小寫的crtbp.m;
2.gatbx屬於第三方工具箱,MATLAB自身對它是沒有說明的,所以搜不到這些
遺傳演算法
的指令。
D. MATLAB的遺傳演算法工具箱GA是怎麼用的
把這些文件裝載工具箱的文件夾路徑下,在把MATLAB讀的路徑設置在那裡,直接輸入文件名和需要輸入的內容就行了。
E. MATLAB自帶的GA工具箱,有誰知道麻煩告訴一下!求教!!!
請問matlab6.5 gaot工具箱和matlab7.0自帶工具箱使用起來有區別嗎?多謝了matlab7.0自帶的工具箱版本未必都是7.0,我的這台電腦裝的也是6.5,看看
F. matlab怎樣讓遺傳演算法ga從上次的運行結果開始繼續尋優
比如通過MATLAB遺傳演算法的思想求解f(x)=x*sin(10pi*x)+2.0,-1>f=@(x)-(x*sin(10*pi*x)+2)f= @(x)-(x*sin(10*pi*x)+2)接著輸入gatool會打開遺傳演算法工具箱按上圖所示設置,版設置好了之後點擊Start運行結果權如下顯示51代之後演算法終止,最小結果為-3.85027334719567,對應的x為1.851,由於自定義函數加了負號,所以原式的最大值為3.85027334719567,對應的x為1.851。不過這是遺傳演算法得到的結果,每次運行的結果可能會有所不同,而且不一定是確切的最大值。遺傳演算法適合應用在一些求最優解比較復雜的問題(常規的演算法運算時間過長,甚至無法解決)。
G. matlab遺傳演算法工具箱優化結果數值
ga就是在窮舉不可能完成時,用一種方式找到最優解
ga工具的完整形式如下表示
[X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] =
GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options)
X是最優自變數
FVAL是求得的最優值
其他以此是推出標志,結構體,終止時的總群,終止時種群函數值
後半部分以此是目標函數,目標函數自變數個數
A和b是線性約束不等式AX〈b
Aeq和beq是一對線性等式約束,AeqX=beq
lb是X值下限,ub是X值下限
NONLCON是非線性約束函數 options是運行方式。這兩個可以寫函數自己完成,也可默認
函數默認計算最小值,計算最大值要加負號
H. 求matlab遺傳演算法工具箱GA Toolbox。。並求解釋如下
GA自己寫一個就好了,也挺簡單的。
雖然很多函數都能知道表達式,但是仍然版有很多函數不能用倒權數來求解,所以要知道空間的極值和最值就必須用遍歷的方法。然而對於實數范圍內或者大規模數據的離散數據情況下,遍歷畫圖的方法會耗費很大的計算復雜度,因為你並不知道是在參數范圍的邊緣還是中間有最值,有多少個最值也不知道。GA就提供了一種基於種群的搜索優化方法,可以快速的收斂到優秀的解的個體,但是要防止陷入局部最優。
簡而言之就是遍歷的搜索方法要用時10小時完成的事情,GA快速優化可能1分鍾或者10分鍾搞定,佔用內存也少。
I. 求解:怎樣使用MATLAB中的遺傳演算法計算器Optimization Tool中的GA——Genetic Algorithm,如圖,重謝
比如通過MATLAB遺傳演算法的思想求解f(x)=x*sin(10pi*x)+2.0,-1<=x<=2的最大值問題,結果精確版到3位小數。
首先在matlab命令權窗口輸入f=@(x)-(x*sin(10*pi*x)+2) 輸出結果為
>> f=@(x)-(x*sin(10*pi*x)+2)
f =
@(x)-(x*sin(10*pi*x)+2)
接著輸入gatool會打開遺傳演算法工具箱
顯示51代之後演算法終止,最小結果為-3.85027334719567,對應的x為1.851,由於自定義函數加了負號,所以原式的最大值為3.85027334719567,對應的x為1.851。
不過這是遺傳演算法得到的結果,每次運行的結果可能會有所不同,而且不一定是確切的最大值。
遺傳演算法適合應用在一些求最優解比較復雜的問題(常規的演算法運算時間過長,甚至無法解決)。