版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、§7 MATLAB的應(yīng)用7.1 MATLAB在數(shù)值分析中的應(yīng)用插值與擬合是來源于實際、又廣泛應(yīng)用于實際的兩種重要方法。隨著計算機(jī)的不斷發(fā)展及計算水平的不斷提高,它們已在國民生產(chǎn)和科學(xué)研究等方面扮演著越來越重要的角色。下面對插值中分段線性插值、擬合中的最為重要的最小二乘法擬合加以介紹。分段線性插值所謂分段線性插值就是通過插值點用折線段連接起來逼近原曲線,這也是計算機(jī)繪制圖形的基本原理。實現(xiàn)分段線性插值不需編制函數(shù)程序,MATLAB自身提供了內(nèi)部函數(shù)in terpl其主要用法如下:in terp1(x,y,xi)維插值 yi=i nterp1(x,y,xi)對一組點(x,y)進(jìn)行插值,計
2、算插值點xi的函數(shù)值。x為節(jié)點向量值,y為對應(yīng)的節(jié)點函數(shù)值。如果y為矩陣,則插值對y的每一列進(jìn)行,若 y的維數(shù)超出x或xi的維數(shù),則 返回NaN。 yi=i nterp1(y,xi)此格式默認(rèn)x=1: n , n為向量y的元素個數(shù)值,或等于矩陣y的size(y,1)。 yi=interp1(x,y,xi,' method')method用來指定插值的算法。默認(rèn)為線性算法。其值常用的可以是如下的字符串。n earest線性最近項插值。lin ear線性插值。spli ne三次樣條插值。cubic三次插值。所有的插值方法要求x是單調(diào)的。x也可能并非連續(xù)等距的。正弦曲線的插值示例:&
3、gt;> x=0 :0.1:10;>> y=si n( x);>> xi=0 :0.25:10;>> yi=i nterp1(x,y,xi);>> plot(x,y, ' 0' ,xi,yi)則可以得到相應(yīng)的插值曲線(讀者可自己上機(jī)實驗)。Matlab也能夠完成二維插值的運(yùn)算,相應(yīng)的函數(shù)為in terp2,使用方法與in terpl基本相同,只是輸入和輸出的參數(shù)為矩陣,對應(yīng)于二維平面上的數(shù)據(jù)點,詳細(xì)的用法見Matlab聯(lián)機(jī)幫助。最小二乘法擬合在科學(xué)實驗的統(tǒng)計方法研究中,往往要從一組實驗數(shù)據(jù)(xyj中尋找出自變量x和因 變量y
4、之間的函數(shù)關(guān)系y=f(x)。由于觀測數(shù)據(jù)往往不夠準(zhǔn)確,因此并不要求y=f(x)經(jīng)過所有的點(Xi, yi),而只要求在給定點 人上誤差二f (人)- yi按照某種標(biāo)準(zhǔn)達(dá)到最小,通常一 2采用歐氏范數(shù)|計作為誤差量度的標(biāo)準(zhǔn)。這就是所謂的最小二乘法。在MATLAB中實現(xiàn)最小二乘法擬合通常采用polyfit函數(shù)進(jìn)行。函數(shù)polyfit是指用一個多項式函數(shù)來對已知數(shù)據(jù)進(jìn)行擬合,我們以下列數(shù)據(jù)為例介紹 這個函數(shù)的用法:>> x=0 :0.1: 1 ;>> y=-0.4471.9783.286.167.087.347.669.569.489.3011.2 為了使用polyfit,首
5、先必須指定我們希望以多少階多項式對以上數(shù)據(jù)進(jìn)行擬合,如果我們指定一階多項式,結(jié)果為線性近似,通常稱為線性回歸。我們選擇二階多項式進(jìn)行擬合。>> P= polyfit (x, y, 2)P=-9.810820.1293-0.0317函數(shù)返回的是一個多項式系數(shù)的行向量,寫成多項式形式為:-9.8108x2為了比較擬合結(jié)果,我們繪制兩者的圖形:>> xi=linspace (0, 1, 100);%繪圖的 X-軸數(shù)據(jù)。>> Z=polyval (p, xi);%得到多項式在數(shù)據(jù)點處的值。當(dāng)然,我們也可以選擇更高幕次的多項式進(jìn)行擬合,如10階:>> p=
6、polyfit (x, y, 10);>> xi=li nspace (0, 1,100);>> z=ployval (p, xi);讀者可以上機(jī)繪圖進(jìn)行比較,曲線在數(shù)據(jù)點附近更加接近數(shù)據(jù)點的測量值了,但從整體上來說,曲線波動比較大,并不一定適合實際使用的需要,所以在進(jìn)行高階曲線擬合時,“越高越好”的觀點不一定對的。7.2符號工具箱及其應(yīng)用在數(shù)學(xué)應(yīng)用中,常常需要做極限、微分、求導(dǎo)數(shù)等運(yùn)算,MATLAB稱這些運(yùn)算為符號運(yùn)算。MATLAB的符號運(yùn)算功能是通過調(diào)用符號運(yùn)算工具箱(Symbolic Math Toolbox)內(nèi)的工具實現(xiàn),其內(nèi)核是借用Maple數(shù)學(xué)軟件的。MAT
7、LAB的符號運(yùn)算工具箱包含了微積分運(yùn)算、 化簡和代換、解方程等幾個方面的工具,其詳細(xì)內(nèi)容可通過 MATLAB系統(tǒng)的聯(lián)機(jī)幫助查閱, 本節(jié)僅對它的常用功能做簡單介紹。符號變量與符號表達(dá)式MATLAB符號運(yùn)算工具箱處理的對象主要是符號變量與符號表達(dá)式。要實現(xiàn)其符號運(yùn) 算,首先需要將處理對象定義為符號變量或符號表達(dá)式,其定義格式如下:格式1: sym (變量名' 或 sym (表達(dá)式)功能:定義一個符號變量或符號表達(dá)式。例如:>> sym ( x')>> sym( x+1 ')格式2: syms變量名1%定義變量x為符號變量功能:定義變量名1、變量2、變
8、量名 n為符號變量。%定義表達(dá)式x+1為符號表達(dá)式 變量名2 變量名n例如:>> syms a b x t%定義a,b, x,t均為符號變量微積分運(yùn)算1、極限格式:limit (f, t, a,'lefgh't Or)功能:求符號變量t趨近a時,函數(shù)f的(左或右)極限。left表示求左極限,right表 示求右極限,省略時表示求一般極限;a省略時變量t趨近0; t省略時默認(rèn)變量為 x,若無x則尋找(字母表上)最接近字母 x的變量。3x例如:求極限lim i1的命令及結(jié)果為:X x丿>> syms x t>> limit (1+2*t/x)A(
9、3*x) , x, i nf)ans=exp(6*t)再如求函數(shù)x / |x|,當(dāng)Xr 0時的左極限和右極限, 命令及結(jié)果為:>> syms x>> limit(x/abs(x), x, 0,>> limit(x/abs(x),x, 0,'lefts =-1)'riglahs = 12、導(dǎo)數(shù)格式: diff (f,t, n)功能: 求函數(shù)f對變量t的n階導(dǎo)數(shù)。當(dāng)n省略時,默認(rèn) n=1;當(dāng)t省略時,默認(rèn)變 量x,若無x時則查找字母表上最接近字母x的字母。例如:求函數(shù)f=a*xA2+b*x+c對變量x的一階導(dǎo)數(shù),命令及結(jié)果為>> sy
10、ms a b c x>> f=a*xA2+b*x+c;>> diff(f)ans=2*a*x+b求函數(shù)f對變量b的一階導(dǎo)數(shù)(可看作求偏導(dǎo)),命令及結(jié)果為>> diff(f,b)an s=x求函數(shù)f對變量x的二階導(dǎo)數(shù),命令及結(jié)果為>> diff(f,2) an s=2*a3、積分格式:in t(f,t,a,b)功能:求函數(shù)f對變量t從a到b的定積分.當(dāng)a和b省略時求不定積分;當(dāng)t省略時,默 認(rèn)變量為(字母表上)最接近字母x的變量。例如:求函數(shù)f=a*xA2+b*x+c對變量x不定積分,命令及結(jié)果為>> syms a b c x>&
11、gt; f=a*xA2+b*x+c;>> in t(f)ans=1/3*a*xA3+1/2*b*xA2+c*x求函數(shù)f對變量b不定積分,命令及結(jié)果為>> in t(f,b)ans=a*xA2*b+1/2*bA2*x+c*b求函數(shù)f對變量x從1到5的定積分,命令及結(jié)果為>> in t(f,1,5)ans=124/3*a+12*b+4*c4、級數(shù)求和格式: symsum (s,t,a,b)功能:求表達(dá)式 s中的符號變量t從第a項到第b項的級數(shù)和。例如: 求級數(shù)1/11/2 *1/3亠亠1/x的前三項的和,命令及結(jié)果為>> symsum(1/x,1,3
12、)an s=11/6化簡和代換MATLAB符號運(yùn)算工具箱中,包括了較多的代數(shù)式化簡和代換功能,下面僅舉出部分 常見運(yùn)算。simplify利用各種恒等式化簡代數(shù)式expand將乘積展開為和式factor把多項式轉(zhuǎn)換為乘積形式collect合并同類項horner把多項式轉(zhuǎn)換為嵌套表示形式例如:進(jìn)行合并同類項執(zhí)行>> syms x>> collect(3*xA3-0.5*xA3+3*xA2) ans=5/2*xA3+3*xA2)進(jìn)行因式分解執(zhí)行>> factor(3*xA3-0.5*xA3+3*xA2) ans=1/2*xA2*(5*x+6)解方程1、代數(shù)方程格式
13、:solve (f,t)功能:對變量t解方程f=0 , t缺省時默認(rèn)為x或最接近字母x的符號變量。例如:求解一元二次方程f=a*x2+b*x+c的實根,>> syms a b c x>> f=a*xA2+b*x+c;>> solve (f,x)ans=1/2/a*(-b+(bA2-4*a*c)A (1/2)1/2/a*(-b-(bA2-4*a*c)A (1/2)2、微分方程格式:dsolve( s' , ' si ' , ' s2 ',,'x')其中s為方程;s1,s2,為初始條件,缺省時給出含任意常數(shù)
14、c1,c2,的通解;x為自變量,缺省時默認(rèn)為t。2例如:求微分方程 y =1亠y的通解>> dsolve( Dy=1+yA2 ')ans=tan (t+cl)7.3優(yōu)化工具箱及其應(yīng)用在工程設(shè)計、經(jīng)濟(jì)管理和科學(xué)研究等諸多領(lǐng)域中,人們常常會遇到這樣的問題:如何從一切可能的方案中選擇最好、最優(yōu)的方案,在數(shù)學(xué)上把這類問題稱為最優(yōu)化問題。這類問題很多,例如當(dāng)設(shè)計一個機(jī)械零件時如何在保證強(qiáng)度的前提下使重量最輕或用量最省(當(dāng)然偷工減料除外);如何確定參數(shù),使其承載能力最高;在安排生產(chǎn)時,如何在現(xiàn)有的人力、設(shè) 備的條件下,合理安排生產(chǎn),使其產(chǎn)品的總產(chǎn)值最高;在確定庫存時如何在保證銷售量的前
15、提下,使庫存成本最小;在物資調(diào)配時,如何組織運(yùn)輸使運(yùn)輸費(fèi)用最少。這些都屬于最優(yōu)化 問題所研究的對象。MATLAB的優(yōu)化工具箱被放在 toolbox目錄下的optim子目錄中,其中包括有若干個常 用的求解函數(shù)最優(yōu)化問題的程序。MATLAB的優(yōu)化工具箱也在不斷地完善。不同版本的MATLAB,其工具箱不完全相同。在MATLAB5.3版本中,對優(yōu)化工具箱作了全面的改進(jìn)。每個原有的常用程序都重新編制了一個新的程序。除fzero和fsolve外都重新起了名字。這些新程序使用一套新的控制算法的選項。與原有的程序相比,新程序的功能增強(qiáng)了。在 MATLAB5.3和6.0版本中,原有的優(yōu)化程序(除fzero和fs
16、olve夕卜)仍然保留并且可以使用, 但是它們遲早會被撤消的。鑒于上述情況,本書將只介紹那些新的常用的幾個優(yōu)化程序。線性規(guī)劃問題MA TLAB的優(yōu)化工具線性規(guī)劃是最優(yōu)化理論發(fā)展最成熟,應(yīng)用最廣泛的一個分支。在 箱中用于求解下述線性規(guī)劃的問題min z = exs.t. Ax二b(線性不等式約束)Ax=bi(線性等式約束)LB乞xUB(有界約束)的函數(shù)是linprog,其主要格式為:x, fval, exitflag, output, lambda= linprog(c. A, b, A1, bl , LB, UB, xO, options)其中,linprog為函數(shù)名,中括號及小括號中所含的參
17、數(shù)都是輸入或輸出變量,這些參數(shù)的 主要用法及說明如下:(1)c, A和b是不可缺省的輸入宗量;x是不可缺省的輸出宗量,它是問題的解。(2) 當(dāng)x無下界時,在LB處放置。當(dāng)無上界時,在 UB處放置。如果x的某個分 量xi無下界,則置 LB(i)=-inf.如果xi無上界,則置 UB(i)=inf.如果無線性不等式約束,則 在A和b處都放置。(3)x0是解的初始近似值。(4)options是用來控制算法的選項參數(shù)向量。(5)輸出宗量fval是目標(biāo)函數(shù)在解 x處的值。(6) 輸出宗量exitflag的值描述了程序的運(yùn)行情況。如果exitflag的值大于0,則程序收 斂于解x;如果exitflag的值
18、等于0,則函數(shù)的計算達(dá)到了最大次數(shù);如果 exitflag的值小于 0,則問題無可行解,或程序運(yùn)行失敗。(7)輸出宗量output輸出程序運(yùn)行的某些信息。(8)輸出宗量Lambda為在解x處的值 Lagrange乘子。例:求解線性規(guī)劃問題min z = -2xx2 x3,s.t.論 X2 2x3 =6,X1 4X2 - X3 乞 4 ,2捲-2x2x3 二 12 ,x0, x2 _ 0, x3 巴 5 .解:在命令窗口中鍵入>> c=-2,-1,1; a=1,4,-1; 2,-2,1; b=4; 12; a仁1,1,2; b1=6;>> lb=0; 0; -inf; u
19、b=inf; inf; 5;>> x, z=li nprog(c,a,b,a1,b1,1b,ub)運(yùn)行后得到:x=4.66670.00000.6667z=-8.66677.3.2非線性約束最優(yōu)化在MATLAB的優(yōu)化工具箱中有一個求解下述非線性規(guī)劃的問題min f (x)s.t. Ax 込 b(線性不等式約束)AiX=bi(線性等式約束)C(x) < 0(非線性不等式約束)Ci (x)二0(非線性等式約束)LB Ex蘭UB(有界約束)fun ' , x0, A, b, A1, b1 , LB,的函數(shù)是fmincon,其主要格式為:x, fval, exitflag, o
20、utput, lambda, grad, hessia n=fmincon(UB, nonIcon ' , options, p1;p2)其中,fmincon為函數(shù)名,參數(shù)的主要用法有的與線性規(guī)劃中的相同,下面介紹幾個非線性 規(guī)劃特有的:(1) fun和x0是不可缺省的輸入宗量。fun是給出目標(biāo)函數(shù)的 M文件的名字,x0是極 小值點的初始近似值。x是不可缺省的輸出宗量,它是問題的解。(2) nonIcon是給出非線性約束函數(shù)C(x)和C1(x)的M文件的文件名。(3) 宗量p1,p2是向目標(biāo)函數(shù)傳送的參數(shù)的值。(4) 輸出宗量grad為目標(biāo)函數(shù)在解x處的梯度。(5) 輸出宗量hessi
21、an為目標(biāo)函數(shù)在解 x處的Hessian矩陣。 例:求解非線性規(guī)劃問題min f (x ex1 (4x12x24x1x22x2 - 1),s.t.x - X2 - 1,x1x2 = 0,1.5x1x2 一為x2 三 0,-Xr x? -10-0解:建立目標(biāo)函數(shù)的M文件function y=n li ne (x)y=exp (x(1)*(4*x(1)A2+2*x(2)A2+4*x(1)*x(2)+2*x (2)+1);建立非線性約束條件的M文件function c1, c2=ny ueshu (x)c1= 1.5+x(1)*x (2)-x(1)-x(2); -x(1)*x(2)-10; c2=0
22、;在命令窗口中鍵入>> x0=-1,1;a=1, -1; b=1; a1= 1,1; b1=0;nyueshu ')>> x, f=fmincon (nline ' , x0, a, b, a1, b1,運(yùn)行后得到:-1.22471.2247f=1.8951二次規(guī)劃問題二次規(guī)劃數(shù)學(xué)模型的一般形式為:1 T .min X Hx ex2s.t. Ax _ bQx = b1LB Ex EUB其中H為對稱矩陣,約束條件與線型規(guī)劃相同。在MATLAB的優(yōu)化工具箱中有一個求解上述規(guī)劃問題的程序:x, fval, exitflag, output, lambda= quadprog(H, c, A, b, A1, b1 , LB, UB, xO, options)其中,quadprog為函數(shù)名,參數(shù)的主要用法及說明同線性規(guī)劃,這里不再贅述。例求解如下二次優(yōu)化問題。2 2min f(x)=捲x2 -8冶一10滅2s.t.3x1 2x2 - 6x1,x2 - 0解:將目標(biāo)函數(shù)化為標(biāo)準(zhǔn)形式12 o'X1+ (-8 -10)X1f(X)= T(X1X2)<0 22<x2丿在命令窗口中鍵入>>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年魯科五四新版九年級地理上冊月考試卷含答案
- 2025年滬教版選擇性必修2語文上冊階段測試試卷
- 2025年粵教滬科版七年級物理上冊階段測試試卷
- 2025年蘇人新版七年級歷史下冊階段測試試卷含答案
- 2025年上外版選擇性必修1物理上冊階段測試試卷
- 2025年仁愛科普版必修1歷史下冊月考試卷含答案
- 2025年滬教版八年級生物上冊階段測試試卷
- 二零二五年度藝術(shù)面磚采購及安裝服務(wù)合同4篇
- 抵押合同范本(2篇)
- 承包經(jīng)營合同(2篇)
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(含答案)
- 商場電氣設(shè)備維護(hù)勞務(wù)合同
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 2023年國家公務(wù)員錄用考試《行測》真題(行政執(zhí)法)及答案解析
- 全國教學(xué)設(shè)計大賽一等獎英語七年級上冊(人教2024年新編)《Unit 2 Were Family!》單元教學(xué)設(shè)計
- 2024智慧醫(yī)療數(shù)據(jù)字典標(biāo)準(zhǔn)值域代碼
- 年產(chǎn)12萬噸裝配式智能鋼結(jié)構(gòu)項目可行性研究報告模板-立項備案
- 【獨(dú)家揭秘】2024年企業(yè)微信年費(fèi)全解析:9大行業(yè)收費(fèi)標(biāo)準(zhǔn)一覽
- 醫(yī)療器械經(jīng)銷商會議
- 《±1100kV特高壓直流換流變壓器使用技術(shù)條件》
評論
0/150
提交評論