matlab怎么打開遺傳算法工具箱 gatoolbox是什么程序?
gatoolbox是什么程序?gatoolbox是基于MATLAB平臺的遺傳算法工具箱(GAToolbox)的優(yōu)化計算。matlab遺傳工具箱位置?直接在命令窗口里邊輸入gatool就行了,用遺傳算法
gatoolbox是什么程序?
gatoolbox是基于MATLAB平臺的遺傳算法工具箱(GAToolbox)的優(yōu)化計算。
matlab遺傳工具箱位置?
直接在命令窗口里邊輸入gatool就行了,用遺傳算法還可以使用ga函數(shù),具體使用格式可以在help系統(tǒng)里看ga,你還可以按照如下步驟打開遺傳算法工具箱:
1,打開MATLAB,2點擊左下方的START按鈕 3,點toolboxes,打開后選擇Genetic Algorithm and Direct Search 然后就可以進入gatool了,然后就會彈出ga工具箱(注:我的版本是7.7的,不同版本可能不同)
matlab 教程?
前言:matlab只是個軟件,用來完成機械的計算,而如何安排這些計算,需要用戶掌握最基本的數(shù)學(xué)概念。這篇將介紹工程數(shù)學(xué)中常用的數(shù)學(xué)概念,與matlab似乎并不相關(guān),但實則是matlab的基礎(chǔ)。
1.數(shù)值與符號
如果給工程數(shù)學(xué)問題分類,最大的兩類肯定是數(shù)值問題和符號問題,對應(yīng)matlab的數(shù)值運算和符號運算。簡而言之,數(shù)值運算就是所有的變量的值已知,求解的也是一些具體的值;符號運算則剛好相反,不要求所有的變量都已知,求解的結(jié)果也不是變量具體的值,而是變量之間的關(guān)系。一個簡單的例子是
①數(shù)值問題:求解一元二次方程,ax2 bx c0,其中abc1,所求得的結(jié)果一定是x幾點幾 幾點幾i,是個復(fù)數(shù),是個具體的數(shù)值。
②符號問題:求解一元二次方程,ax2 bx c0,所求的的結(jié)果一定是x求根公式,是abc的函數(shù),是個關(guān)系
可見,一個問題是數(shù)值問題還是符號問題,很大程度上決定于結(jié)果需要求解的是數(shù)值還是關(guān)系。當(dāng)然兩個問題也可以相互轉(zhuǎn)化,比如數(shù)值問題的一元二次方程,我們一般會先轉(zhuǎn)化成符號問題,把abc代入求根公式,求出來變量x的具體數(shù)值。但實際中,一般我們并不推薦這樣做,原因是matlab的數(shù)值和符號是完全不同的兩套系統(tǒng),相互轉(zhuǎn)化不僅需要多余的數(shù)值符號轉(zhuǎn)換語言,更可能帶來查錯的不便。
2.典型數(shù)值問題
以下是常見的數(shù)值問題,文中提到的解法均可在數(shù)值計算、科學(xué)計算、數(shù)值算法這類書中找到。
2.1代數(shù)方程
代數(shù)方程又分為線性方程和非線性方程,線性方程一般可以轉(zhuǎn)化為矩陣形式AXb,對A求逆即可。求逆的數(shù)值解法一般有高斯賽德爾迭代,超松弛迭代等。非線性方程一般轉(zhuǎn)化為f(x)zeros其中x是個向量,右側(cè)的zeros表示f是個多輸出函數(shù),數(shù)值解法一般是迭代,常見的有牛頓迭代,最速梯度,點斜式等。
2.2常微分方程
常微分方程一般轉(zhuǎn)化為Dyf(y,t),且y(0)y0是初始條件,其中y和Dy都是向量,f也是個多輸出函數(shù),數(shù)值解法有歐拉法,龍格庫塔法。
2.3偏微分方程
偏微分方程比較復(fù)雜,matlab處理偏微分方程也不專業(yè),我也幾乎不用matlab處理這類問題。但工程數(shù)學(xué)上,偏微分方程的解法有兩類,差分法和有限元法。差分法需要采用中心差分,迎風(fēng)差分等。有限元需要計算剛度矩陣等。
2.4插值和擬合
插值和擬合是完全不同的兩個數(shù)學(xué)概念,雖然很多時候很多人都混淆了。兩者的描述都可以歸結(jié)為:已知函數(shù)上的點(x1,y1),(x2,y2)...(xn,yn),求一個已知的x,對應(yīng)的y的數(shù)值。插值常用的多項式插值,三次樣條插值。擬合的本質(zhì)是一個最優(yōu)化問題,其中最常用的一種擬合是線性擬合,求解方法是最小二乘法。
2.5離散周期傅里葉變換
嚴格說來,這并不能算一個數(shù)學(xué)問題,只是一種運算,就好像加減乘除一樣。特殊性在于這種變換是對于一個向量進行,且運算后的結(jié)果依然是個向量。這里提出來是為了強調(diào)這種傅里葉變換的限定,要求是離散周期,這也是數(shù)值方法能處理的唯一一種傅里葉變換。
2.6最優(yōu)化問題
最優(yōu)化問題比較寬泛,一般可以歸結(jié)為求目標(biāo)函數(shù)f(x)的最大或者最小值,其中f是一個單輸出的函數(shù),x是一個向量。其中x需要滿足線性約束條件、非線性約束條件、上下界。具體的解法有最速梯度,遺傳,蟻群,退火等算法。
2.7數(shù)值積分
已知函數(shù)上的點(x1,y1),(x2,y2),...(xn,yn),求函數(shù)在x1到xn的定積分。常見算法有矩形公式,梯形公式,辛普森公式。類似的問題還有數(shù)值求導(dǎo)。
3.典型符號問題
以下是常見的符號問題,需要特別指出的是,無解問題。數(shù)值問題中也有一部分無解問題,但大多數(shù)工程中是碰不到的。而符號問題恰好相反,絕大部分我們遇到的符號問題都是沒有解的,或者準確的說,沒有解析解。比如求一元五次方程,我們知道x和這些系數(shù)存在關(guān)系,但無法寫出顯式的表達式,也就是說沒有解析解。
3.1遞推轉(zhuǎn)通項
這個問題可以歸結(jié)為:已知xn 1f(xn),求xn,常見于數(shù)列的推導(dǎo)。
3.2代數(shù)方程
區(qū)別于數(shù)值問題中的代數(shù)方程, 這里的代數(shù)方程問題可以描述為:f(x,c)0,求xx(c),這里需要求解的其實是x和c的關(guān)系。
3.3常微分方程
區(qū)別于數(shù)值問題中的常微分數(shù)方程, 這里的代數(shù)方程問題可以描述為:Dyf(y,t,c),求yx(t,c),一般無需初值條件。
3.4符號積分
區(qū)別于數(shù)值問題中的數(shù)值積分,這里的符號積分可以描述為:已知函數(shù)關(guān)系yf(x),求y的不定積分。同樣的問題還有符號求導(dǎo)。
matlab最基礎(chǔ)教程(一):軟件基本概念
前言:①如果你是第一次使用matlab,建議閱讀本教程。②以2017a版本為基礎(chǔ),適用于2014a及之后的版本,之前的版本未測試。③結(jié)合這兩個月在壇子里回答的問題,整理成教程,水平有限,歡迎指正。
的界面
home標(biāo)簽下,找到layout進行設(shè)置/復(fù)位,可以設(shè)置各板塊的顯示與隱藏。其中有幾個部分,請務(wù)必要顯示
①Current Folder:中文一般翻譯成工作路徑,一般設(shè)置成一個自己建立的、有讀寫權(quán)限的文件夾,例如我的文檔下建立一個matlab文件夾
②Command Window:字面意思是命令窗口,用來運行代碼,所有的代碼都是在這里輸入
③Workspace:字面意思是工作空間,其實就是暫存所有運行結(jié)果的地方,“暫”的具體含義是:關(guān)閉matlab后丟失
2.軟件中的基本概念
2.1 函數(shù)
matlab之所以強大,就是因為提供大量的函數(shù),你也可以建立自定義函數(shù),方法是:Home-gtNew-gtfunction。自定義函數(shù)一般保存在工作路徑下。函數(shù)文件的特征是:擴展名m,內(nèi)容的第一行以function開頭,后續(xù)內(nèi)容是“輸出變量函數(shù)名(輸入變量)”。且函數(shù)名和文件名相同。
每個函數(shù)在Command Window中運行,用來完成特定的計算任務(wù),運行是輸入“輸出變量函數(shù)名(輸入變量)”,然后按回車。例如有個系統(tǒng)自帶的函數(shù)是用來求絕對值的,函數(shù)名abs,所以在Command Window里輸入“aabs(-1)”,就會顯示運算結(jié)果為“a1”。且運算結(jié)果會在Workspace里出現(xiàn)一個變量a,雙擊后可看到a的值是1。
2.2 腳本
可以理解為特殊的函數(shù),這種函數(shù)內(nèi)容的開頭沒有function那行,因此沒有輸入、輸出變量,也沒有函數(shù)名。文件擴展名和函數(shù)一樣是m,也需要在Command Window里運行。腳本都是用戶建立的,方法是:Home-gtNew Script。一般保存在工作路徑下。腳本的功能就是完成用戶需要的、復(fù)雜的計算任務(wù),通常腳本里會調(diào)用很多函數(shù)。
2.3 GUI
一般翻譯為界面,就是人機交互界面的意思。寫腳本處理問題的方法有點麻煩,讓人看起來更像是碼農(nóng),所以現(xiàn)在很多問題可以通過界面點點鼠標(biāo)解決。這時候就需要打開界面,打開方法是:在APPS標(biāo)簽里可以找到所有已安裝的GUI工具,單擊即可。注意右邊有個小三角可以點開。和函數(shù)一樣,用戶也可以自己建立自定義GUI,這部分較為復(fù)雜,對新手而言有點遙遠。
2.4 toolbox
一般翻譯成工具箱,matlab將功能相近或者應(yīng)用上自成體系的一組函數(shù)和GUI打包成一個toolbox。正版的matlab在購買時,幾乎每一個toolbox都是要單獨收費的,所以toolbox也可以理解為matlab產(chǎn)品的模塊,一個工具箱就是一個產(chǎn)品/商品。
2.5 simulink
一般用matlab解決問題的過程是:用戶自定義腳本,在Command Window里運行腳本。而腳本的運行邏輯是順序執(zhí)行,和一般的編程一樣。simulink則提供另一種思路,圖形化編程,有點像labview,這種方法很適合于物理模型的仿真,因此有時用“matlab編程”和“simulink仿真”強調(diào)。使用方法是在home標(biāo)簽下點擊simulink。
3.獲得幫助
常用的獲得幫助有四種方法
①home標(biāo)簽里,有個Help標(biāo)志,點開后可以獲得各工具箱/產(chǎn)品的完整幫助文檔。新版本中默認使用在線,改用本地幫助的辦法是在home標(biāo)簽里,Preferences下的matlab/Help里選擇installed locally
②官網(wǎng)上找到支持,然后可以獲得教程。這種方法獲得的幫助文檔和第一種方法一樣。
③在Command Window里輸入 doc 函數(shù)名 來獲得幫助。比如輸入#34doc fft#34可以獲得離散傅里葉變換函數(shù)fft的幫助和范例。這種方法獲得的文檔是前兩種方法文檔中的部分。當(dāng)然,前提是你要知道函數(shù)名,才能找到幫助。這種方法適合于獲得系統(tǒng)自帶函數(shù)的使用說明。
④使用GUI時,通常界面的角落里有Help,點開可以獲得幫助。這種方法獲得的文檔是第一和第二種方法文檔中的部分。這種方法適合于獲得系統(tǒng)自帶GUI的使用說明。
這幾種方法中,最常用的是第三種,只要知道自己需要的函數(shù)名,就可以用這種獲得說明和范例。而實際使用中,一般常用的系統(tǒng)自帶函數(shù),也并不是非常多,大概幾十個?真正需要記住怎么用的只有幾樣?xùn)|西。通常,你知道這個函數(shù)的名字,當(dāng)你想使用它的時候,就把它存放起來。