matlab求目標(biāo)函數(shù)最好的方法 怎么用lingo求解整數(shù)規(guī)劃?
怎么用lingo求解整數(shù)規(guī)劃?目前大學(xué)生接觸較多的數(shù)學(xué)軟件是matlab,其從網(wǎng)上下載的linprog函數(shù)能夠解決的辦法大量的線性規(guī)劃問題,但是卻還沒有用于解決整數(shù)具體規(guī)劃的工具箱。當(dāng)然了,另外一款專
怎么用lingo求解整數(shù)規(guī)劃?
目前大學(xué)生接觸較多的數(shù)學(xué)軟件是matlab,其從網(wǎng)上下載的linprog函數(shù)能夠解決的辦法大量的線性規(guī)劃問題,但是卻還沒有用于解決整數(shù)具體規(guī)劃的工具箱。當(dāng)然了,另外一款專業(yè)點(diǎn)區(qū)分于運(yùn)籌學(xué)的軟件lingo【他另外個(gè)同胞兄弟叫l(wèi)indo,兩者差不多】,導(dǎo)致功能單一,這個(gè)軟件很小,非常好用。
1,先打開lingo。
matlab 教程?
前言:matlab只不過是個(gè)軟件,用處成功機(jī)械的計(jì)算,而該如何安排好了這些換算,要用戶能夠掌握最基本的數(shù)學(xué)概念。這篇將詳細(xì)介紹工程數(shù)學(xué)中常用的數(shù)學(xué)概念,與matlab倒是當(dāng)然不具體,但表面看來是matlab的基礎(chǔ)。
1.數(shù)值與符號(hào)
如果給工程數(shù)學(xué)問題分類,最大的兩類當(dāng)然是數(shù)值問題和符號(hào)問題,填寫matlab的數(shù)值運(yùn)算和符號(hào)運(yùn)算結(jié)果。簡單而言,數(shù)值運(yùn)算那就是所有的變量的值.設(shè),求解答的又是一些具體一點(diǎn)的值;符號(hào)運(yùn)算則還好反過來,不那些要求所有的變量都三角形的三邊,求高人的結(jié)果也不是變量詳細(xì)的值,反而變量之間的關(guān)系。一個(gè)簡單例子是
①數(shù)值問題:求解一元二次方程,ax2bxc0,其中abc1,所任意凸四邊形的結(jié)果當(dāng)然是x幾點(diǎn)幾幾點(diǎn)幾i,是個(gè)復(fù)數(shù),是個(gè)詳細(xì)的數(shù)值。
②符號(hào)問題:求解一元二次方程,ax2bxc0,所求的的結(jié)果當(dāng)然是x求根公式,是abc的函數(shù),是個(gè)關(guān)系
要知道,一個(gè)問題是數(shù)值問題還是符號(hào)問題,不大程度上判斷于結(jié)果要求大神解答的是數(shù)值應(yīng)該關(guān)系。不過兩個(gè)問題也可以不相互轉(zhuǎn)化,諸如數(shù)值問題的一元二次方程,我們一般會(huì)先轉(zhuǎn)變成符號(hào)問題,把a(bǔ)bcx3求根公式,求出來變量x的具體數(shù)值。但實(shí)際中,像是我們并不我推薦這樣的做,原因是matlab的數(shù)值和符號(hào)是已經(jīng)有所不同的兩套系統(tǒng),相互轉(zhuǎn)化不僅必須無用的數(shù)值符號(hào)轉(zhuǎn)換語言,更很可能給他查錯(cuò)的不便。
2.是是數(shù)值問題
以下是常見的數(shù)值問題,文中提及的解法較多在數(shù)值計(jì)算、科學(xué)計(jì)算、數(shù)值算法這類書中找不到。
2.1代數(shù)方程
代數(shù)方程又可分線性方程和非線性方程,線性方程象可以轉(zhuǎn)變?yōu)榫仃囆问紸Xb,對(duì)A求逆即可。求逆的數(shù)值解法好象有高斯賽德爾迭代,超松弛迭代等。非線性方程一般轉(zhuǎn)化成為f(x)zeros其中x是個(gè)向量,右側(cè)的zeros它表示f是個(gè)多作為輸出函數(shù),數(shù)值解法像是是迭代,比較普遍的有牛頓迭代,最速梯度,點(diǎn)斜式等。
2.2常微分方程
常微分方程象轉(zhuǎn)化為Dyf(y,t),且y(0)y0是初始條件,其中y和Dy都是向量,f確實(shí)是個(gè)多輸出低函數(shù),數(shù)值解法有歐拉法,龍格庫塔法。
2.3偏微分方程
復(fù)分析比較緊張,matlab處理偏微分方程也不專業(yè),我也甚至不用什么matlab處理這類問題。但工程數(shù)學(xué)上,偏微分方程的解法有兩類,差分法和有限元法。差分法需要按結(jié)構(gòu)中心差分,迎風(fēng)差分等。有限元分析要計(jì)算出剛度矩陣等。
2.4插值和數(shù)據(jù)擬合
插值和擬合是完全完全不同的兩個(gè)數(shù)學(xué)概念,只不過某些時(shí)候很多人都混淆不清了。兩者的描述都是可以歸結(jié)為:己知函數(shù)上的點(diǎn)(x1,y1),(x2,y2)...(xn,yn),求一個(gè)三角形的三邊的x,不對(duì)應(yīng)的y的數(shù)值。插值常用的多項(xiàng)式插值,三次樣條插值。擬合的本質(zhì)是一個(gè)最優(yōu)化問題,其中最常用的一種曲線擬合是線性模型擬合,求解方法是最小二乘法。
2.5線性系統(tǒng)周期傅里葉變換
嚴(yán)不說來,這并肯定不能算一個(gè)數(shù)學(xué)問題,只不過是一種運(yùn)算,就好像聽說加減乘除一樣。特殊性只是相對(duì)而言這種跳躍是這對(duì)一個(gè)向量進(jìn)行,且運(yùn)算后的結(jié)果仍然是個(gè)向量。這里提出來是為了強(qiáng)調(diào)這種傅里葉變換的限定,要求是離散時(shí)間信號(hào)周期,這也是數(shù)值方法能去處理的任何一種傅里葉變換。
2.6最優(yōu)化問題
最優(yōu)化問題都很寬泛性,好象是可以簡單歸因?yàn)榍竽繕?biāo)函數(shù)f(x)的大的或是最小值,其中f是一個(gè)單輸出的函數(shù),x是一個(gè)向量。其中x要滿足線性約束條件、線性約束條件、上下界。具體看的解法有最速梯度,遺傳,蟻群,退火等算法。
2.7數(shù)值積分
已知函數(shù)上的點(diǎn)(x1,y1),(x2,y2),...(xn,yn),求函數(shù)在x1到xn的定積分。最常見算法有平行四邊形公式,梯形公式,辛普森公式。類似于的問題還有一個(gè)數(shù)值求導(dǎo)。
3.是個(gè)符號(hào)問題
以下是較常見的符號(hào)問題,不需要特別強(qiáng)調(diào)的是,無解問題。數(shù)值問題中也有一部分無解問題,但大多數(shù)工程中是碰不出來的。而符號(hào)問題恰巧因?yàn)椋^大部分我們遇到的符號(hào)問題都是就沒解的,的或確切的說,沒有解析解。.例如求一元三十次方程,我們明白了x和這些系數(shù)必然關(guān)系,但難以寫一段顯式的表達(dá)式,也就是說沒有解析解。
3.1遞推轉(zhuǎn)通項(xiàng)
這個(gè)問題這個(gè)可以歸罪于為:.設(shè)xn1f(xn),求xn,較常見于數(shù)列的推導(dǎo)。
3.2代數(shù)方程
區(qū)別于數(shù)值問題中的代數(shù)方程,這里的代數(shù)方程問題也可以具體描述為:f(x,c)0,求xx(c),這里必須求解釋的當(dāng)然是x和c的關(guān)系。
3.3常微分方程
區(qū)別于數(shù)值問題中的常微分?jǐn)?shù)方程,這里的代數(shù)方程問題可以不詳細(xì)解釋為:Dyf(y,t,c),求yx(t,c),好象不需要初值條件。
3.4符號(hào)積分
區(qū)別于數(shù)值問題中的數(shù)值積分,這里的符號(hào)積分可以不詳細(xì)解釋為:.設(shè)函數(shù)關(guān)系yf(x),求y的那散修積分。雖然的問題還有符號(hào)求導(dǎo)。
matlab最視頻教程(一):軟件基本概念
前言:①要是你是第二次建議使用matlab,建議閱讀什么本教程。②以2017a版本為基礎(chǔ),適用規(guī)定于2014a及之后的版本,之前的版本未測(cè)量。③結(jié)合這兩個(gè)月在壇子里回答我的問題,收拾好成教程,水平有限,歡迎指正。
的界面
home標(biāo)簽下,不能找到layout通過設(shè)置里/復(fù)位,可以不設(shè)置各板塊的顯示與隱藏。其中有幾個(gè)部分,請(qǐng)務(wù)必要不顯示
①CurrentFolder:中文就像英文翻譯成工作路徑,就像設(shè)置成一個(gè)自己組建的、有讀寫權(quán)限的文件夾,或者我的文檔下組建一個(gè)matlab文件夾
②CommandWindow:字面意思是命令窗口,利用運(yùn)行代碼,所有的代碼都是在這里再輸入
③Workspace:字面意思是工作空間,反正是存儲(chǔ)地所有運(yùn)行結(jié)果的地方,“暫”的具體一點(diǎn)含義是:關(guān)閉matlab后丟失的
2.軟件中的基本概念
2.1函數(shù)
matlab只是因?yàn)閺?qiáng)橫無比,那是而且提供大量的函數(shù),你也也可以建立自定義函數(shù),方法是:Home-gtNew-gtfunction。選項(xiàng)卡函數(shù)像是存放在工作路徑下。函數(shù)文件的特征是:擴(kuò)展名m,內(nèi)容的第一行以function開頭,妖軍內(nèi)容是“輸出變量函數(shù)名(再輸入變量)”。且函數(shù)名和文件名同一。
每個(gè)函數(shù)在Command Window中啟動(dòng),單獨(dú)結(jié)束特定的計(jì)算任務(wù),運(yùn)行是輸入“輸出變量函數(shù)名(再輸入變量)”,然后把按回車。比如有個(gè)系統(tǒng)隨機(jī)軟件的函數(shù)是為了求絕對(duì)值的,函數(shù)名abs,因?yàn)樵贑ommand Window里輸入“aabs(-1)”,是會(huì)顯示運(yùn)算結(jié)果為“a1”。且運(yùn)算結(jié)果會(huì)在Workspace里會(huì)出現(xiàn)一個(gè)變量a,鼠標(biāo)雙擊后可看見了a的值是1。
2.2腳本
也可以表述為特殊的方法的函數(shù),這種函數(shù)內(nèi)容的開頭沒有function那行,所以是沒有鍵入、輸出低變量,也沒有函數(shù)名。文件擴(kuò)展名和函數(shù)一樣是m,也需要在Command Window里正常運(yùn)行。腳本也是用戶組建的,方法是:Home-gtNewScript。像是需要保存在工作路徑下。腳本的功能是結(jié)束用戶必須的、復(fù)雜的計(jì)算任務(wù),大多數(shù)腳本里會(huì)調(diào)用很多函數(shù)。
2.3GUI
就像翻譯成為界面,是人機(jī)交互界面的意思。寫腳本處理問題的方法有些各位,讓人看上去更像是碼農(nóng),所以現(xiàn)在很多問題可以通過界面點(diǎn)點(diǎn)鼠標(biāo)解決。這時(shí)候就必須先打開界面,先打開方法是:在APPS標(biāo)簽里可以能找到所有已安裝的GUI工具,右擊去掉。再注意右邊有個(gè)小三角可以不點(diǎn)開。和函數(shù)完全不一樣,用戶也這個(gè)可以自己建立自定義設(shè)置GUI,這部分特有急切,對(duì)新手而言有些如此遙遠(yuǎn)。
2.4toolbox
好象英譯中成工具箱,matlab將功能生僻的或應(yīng)用上自成體系的一組函數(shù)和GUI發(fā)我成一個(gè)toolbox。正版的matlab在購買時(shí),甚至每一個(gè)toolbox是要不能會(huì)收費(fèi)的,因此toolbox也可以不表述為matlab產(chǎn)品的模塊,一個(gè)工具箱那是一個(gè)產(chǎn)品/商品。
2.5simulink
好象用matlab解決問題的過程是:用戶選項(xiàng)卡腳本,在Command Window里運(yùn)行腳本。而腳本的運(yùn)行邏輯是順序執(zhí)行,和像是的編程一樣。simulink則可以提供另一種思路,圖形化編程,稍微有點(diǎn)像labview,這種方法很適合我于物理模型的仿真,并且偶爾會(huì)用“matlab編程”和“simulink仿真”特別強(qiáng)調(diào)。使用方法是在home標(biāo)簽下再點(diǎn)simulink。
3.獲得幫助
廣泛的獲得好處有四種方法
①home標(biāo)簽里,有個(gè)Help標(biāo)志,點(diǎn)開后也可以完成任務(wù)各工具箱/產(chǎn)品的完整幫助文檔。新版本中系統(tǒng)默認(rèn)建議使用在線,除用本地幫助的辦法是在home標(biāo)簽里,Preferences下的matlab/Help里你選擇installedlocally
②官網(wǎng)上能找到支持,然后再可以額外教程。這種方法獲得的幫助文檔和第一種方法一樣的。
③在Command Window里輸入輸入doc函數(shù)名來獲得幫助。例如然后輸入#34docfft#34也可以額外離散傅里葉變換函數(shù)fft的幫助和范例。這種方法我得到的文檔是前兩種方法文檔中的部分。其實(shí),前提不是你要清楚函數(shù)名,才能能找到幫助。這種方法更適合于獲得系統(tǒng)自帶函數(shù)的使用說明。
④不使用GUI時(shí),常見界面的角落里有Help,點(diǎn)開這個(gè)可以額外幫助。這種方法完成的文檔是第一和第二種方法文檔中的部分。這種方法適合我于額外系統(tǒng)從網(wǎng)上下載GUI的使用說明。
這幾種方法中,使用較多的是第三種,只要你很清楚自己是需要的函數(shù)名,就這個(gè)可以用這種我得到只能證明和范例。而實(shí)際建議使用中,一般正確的系統(tǒng)從網(wǎng)上下載函數(shù),也并不是什么更加多,至少幾十個(gè)?真正不需要謹(jǐn)記使用方法的很可能就幾個(gè),通常大都很清楚函數(shù)名,要是用時(shí)候doc幫一下忙。