數(shù)學(xué)軟件報告課件_第1頁
數(shù)學(xué)軟件報告課件_第2頁
數(shù)學(xué)軟件報告課件_第3頁
數(shù)學(xué)軟件報告課件_第4頁
數(shù)學(xué)軟件報告課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)學(xué)建模中常用的數(shù)學(xué)軟件許 淳延安大學(xué)計算機(jī)學(xué)院數(shù)學(xué)建模常用數(shù)學(xué)軟件:1、Matlab2、Lindo/Lingo一、Matlab概述及主要應(yīng)用領(lǐng)域二、Matlab運行方式三、Matlab矩陣存儲與生成四、Matlab M文件與函數(shù)五、Matlab數(shù)值計算功能六、Matlab符號計算功能MATLAB軟件目錄2022/7/113一、 Matlab概述及主要應(yīng)用領(lǐng)域 MATLAB (MATrix LABorotory,矩陣實驗室)語言是一種廣泛應(yīng)用于工程計算及數(shù)值分析領(lǐng)域的新型高級語言,于1984年由美國 MathWorks 推出,現(xiàn)已成為國際公認(rèn)的最優(yōu)秀的工程應(yīng)用開發(fā)環(huán)境。MATLAB功能強(qiáng)大、簡

2、單易學(xué)、編程效率高,深受廣大科技工作者的歡迎。2022/7/114 在歐美各高等院校,MATLAB已經(jīng)成為線性代數(shù)、自動控制理論、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,成為大學(xué)生、碩士生以及博士生必須掌握的基本技能。2022/7/1151、MATLAB 能干什么?數(shù)學(xué)計算、算法開發(fā)、數(shù)據(jù)采集建模、仿真、原型 數(shù)據(jù)分析、開發(fā)和可視化科學(xué)和工程圖形應(yīng)用程序的開發(fā),包括圖形用戶界面的創(chuàng)建。2、MATLAB廣泛應(yīng)用于:數(shù)值計算、圖形處理、符號運算、數(shù)學(xué)建模、系統(tǒng)辨識、小波分析、實時控制、動態(tài)仿真等領(lǐng)域。2022/7/116工作區(qū)窗口命令歷史窗口命令窗口工具欄菜單欄MA

3、TLAB 的主界面2022/7/117Matlab的運行方式包括交互式的命令行方式和M文件的程序方式。例: 在命令窗口輸入命令: a=1,1.5,2,9,7;0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20將顯示一個5*5矩陣。M文件方式,可分為命令M文件和函數(shù)M文件。二、Matlab運行方式2022/7/118矩陣是MATLAB最基本的數(shù)據(jù)對象,大部分運算或命令都是在矩陣運算的意義下執(zhí)行的。在MATLAB中,不需對矩陣的維數(shù)和類型進(jìn)行說明,MATLAB會根據(jù)用戶所輸入的內(nèi)容自動進(jìn)行配置。三、Matlab矩陣存儲與生成2022/7/1

4、19建立矩陣 建立矩陣可以用:直接輸入法、利用函數(shù)建立矩陣和利用M文件建立矩陣。1)直接輸入法:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。(也可以用回車鍵代替分號)例如,鍵入命令: A=1 2 3;4 5 6;7 8 9輸出結(jié)果是: A = 1 2 3 4 5 6 7 8 92022/7/11102)利用函數(shù)建立數(shù)值矩陣:MATLAB提供了許多生成和操作矩陣的函數(shù),可以利用它們?nèi)ソ⒕仃?。例?reshape函數(shù)和diag函數(shù)等。reshape函數(shù)用于建立數(shù)值矩陣。diag函數(shù)用于產(chǎn)生對角陣。3)利用M文件建立矩陣:對

5、于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個M文件。其步驟為:第一步:使用編輯程序輸入文件內(nèi)容。第二步:把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。第三步:在MATLAB命令窗口中輸入mymatrix,就會自動建立一個名為AM的矩陣,可供以后顯示和調(diào)用。2022/7/1111冒號表達(dá)式在MATLAB中,冒號是一個重要的運算符。利用它可以產(chǎn)生向量,還可用來拆分矩陣。冒號表達(dá)式的一般格式是: e1:e2:e3其中e1為初始值,e2為步長,e3為終止值。冒號表達(dá)式可產(chǎn)生一個由e1開始到e3結(jié)束,以步長e2自增的行向量。2022/7/11123建立矩陣的函數(shù)常用函數(shù)有:eye(s

6、ize(A) 產(chǎn)生與A矩陣同階的單位矩陣zeros(m,n) 產(chǎn)生0矩陣ones(m,n) 產(chǎn)生幺矩陣 rand (m,n) 產(chǎn)生隨機(jī)元素的矩陣size(a) 返回包含兩個元素的向量。length(a) 返回向量的最大者。 2022/7/11131、M文件用MATLAB語言編寫的程序,稱為M文件。M文件有兩類:命令文件和函數(shù)文件。命令文件:沒有輸入?yún)?shù),也不返回輸出參數(shù)。函數(shù)文件:可以輸入?yún)?shù),也可返回輸出參數(shù)。建立新的M文件: 從MATLAB命令窗口的File菜單中選擇New菜單項,再選擇M-file命令。編輯已有的M文件:從MATLAB命令窗口的Flie菜單中選擇Open M-file命令

7、。四、Matlab M文件與函數(shù)2022/7/1114將需要運行的命令編輯到一個命令文件中,然后在MATLAB命令窗口輸入該命令文件的名字,就會順序執(zhí)行命令文件中的命令?!纠?】 建立一個命令文件將變量a,b的值互換。 e31m文件: a=1:9; b=11,12,13;14,15,16;17,18,19; c=a;a=b;b=c; a b 在MATLAB的命令窗口中輸入e31,將會執(zhí)行該命令文件。命令文件2022/7/11152、 函數(shù)文件每一個函數(shù)文件都定義一個函數(shù)。事實上,MATLAB提供的標(biāo)準(zhǔn)函數(shù)大部分都是由函數(shù)文件定義的。1函數(shù)文件格式函數(shù)文件由function語句引導(dǎo),其格式為:

8、function 輸出形參表=函數(shù)名(輸入形參表) 注釋說明部分 函數(shù)體注:其中函數(shù)名的命名規(guī)則與變量名相同。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當(dāng)輸出形參多于1個時,則應(yīng)該用方括號括起來。2022/7/11162函數(shù)調(diào)用函數(shù)文件編制好后,就可調(diào)用函數(shù)進(jìn)行計算。函數(shù)調(diào)用的一般格式是: 輸出實參表=函數(shù)名(輸入實參表)2022/7/1117【例2】 利用函數(shù)文件,實現(xiàn)直角坐標(biāo)(x,y)與極坐標(biāo)(,)之間的轉(zhuǎn)換。函數(shù)文件tran.m:function gama,theta=tran(x,y) gama=sqrt(x*x+y*y); theta=atan(y/x);調(diào)用tran.m的

9、命令文件main1.m: x=input(Please input x=:); y=input(Please input y=:); gam,the=tran(x,y); gam the2022/7/1118方程(組)求解導(dǎo)數(shù)和微分?jǐn)?shù)值積分線性優(yōu)化和非線性優(yōu)化曲線擬合與插值五、Matlab數(shù)值計算功能2022/7/11191、方程求解例1:求解以x3-4x+5=0.命令如下:f=(x)x.3-4*x+5; %匿名函數(shù)z=fzero(f,1) 運行結(jié)果:z=-2.4567例2:求多項式方程x3-8x2+6x-30=0的解.p=1,-8,6,-30;r=roots(p)運行結(jié)果:r = 7.726

10、0 0.1370 + 1.9658i 0.1370 - 1.9658i說明:1 點乘是數(shù)組的運算,不加點是矩陣的運算;2 點乘要求參與運算的兩個量兩必須是維數(shù)相同,是對應(yīng)元素的相乘; 2022/7/1120例3:求下列三階線性代數(shù)方程組的近似解。MATLAB程序為:A=2 -5 4;1 5 -2;-1 2 4;b=5;6;5;x=Ab2022/7/1121 在MATLAB命令窗口,先輸入下列命令構(gòu)造系數(shù)矩陣A和右端向量b:A=2 -5 4;1 5 -2;-1 2 4A = 2 -5 4 1 5 -2 -1 2 4b=5;6;5b = 5 6 5然后只需輸入命令x=Ab即可求得解x:x=Abx

11、= 2.7674 1.1860 1.34882022/7/11222、導(dǎo)數(shù)和微分例4:求向量sin(X)的13階差分。設(shè)X由0,2間均勻分布的10個點組成。命令如下:X=linspace(0,2*pi,10);Y=sin(X);DY=diff(Y); %計算Y的一階差分D2Y=diff(Y,2); %計算Y的二階差分,也可用命令diff(DY)計算D3Y=diff(Y,3); %計算Y的三階差分,也可用diff(D2Y)或diff(DY,2)2022/7/11233、數(shù)值積分例5:求無窮定積分 y,kk=quad(f,-8,8)y = 1.430kk = 81 y1,kk1=quad8(f,-

12、8,8)y1 = 1.023kk1 = 161 y,kk=quad(f,-15,15)y = 0.99999920879563kk = 89 y1,kk1=quad8(f,-15,15)y1 = 0.99999999999999kk1 = 769該無窮定積分的理論值為 1 f=inline(1/sqrt(2*pi)*exp(-x.2/2),x);2022/7/11244、線性優(yōu)化和非線性優(yōu)化例6: 求下面的優(yōu)化問題min -5*x1-4*x2-6*x3sub.to x1-x2+x3=20 3*x1+2*x2+4*x3=42 3*x1+2*x2=30 0=x1; 0=x2; 0=x3;2022/

13、7/1125f=-5; -4; -6;A=1 -1 1;3 2 4;3 2 0;b=20;42;30;lb=zeros(3,1);x,fval,exitflag,output,lambda=linprog(f,A,b,lb)2022/7/1126例7:2022/7/11273主程序youh3.m為:x0=-1;1;A=;b=;Aeq=1 1;beq=0;vlb=;vub=;x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon)4. 運算結(jié)果為: x = -1.2250 1.2250 fval = 1.89512022/7/11281先建立M文件 fu

14、n4.m,定義目標(biāo)函數(shù): function f=fun4(x); f=exp(x(1) *(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);2再建立M文件mycon.m定義非線性約束: function g,ceq=mycon(x) g=x(1)+x(2);1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;5、曲線擬合與插值例8:用一個5次多項式在區(qū)間0,2內(nèi)逼近函數(shù)sin(x)。命令如下:X=linspace(0,2*pi,50);Y=sin(X);P,S=polyfit(X,Y,5) %得到5次多項式的系數(shù)和誤差plot(X,Y,k*,

15、X,polyval(P,X),k-)例9:已知檢測參數(shù)f隨時間t的采樣結(jié)果,用數(shù)值插值法計算t=2,7,12,17,22,17,32,37,42,47,52,57時f的值。命令如下:T=0:5:65;X=2:5:57;F=3.2015,2.2560,879.5,1835.9,2968.8,4136.2,5237.9,6152.7,.6725.3,6848.3,6403.5,6824.7,7328.5,7857.6;F1=interp1(T,F,X) %用線性方法插值F1=interp1(T,F,X,nearest) %用最近方法插值F1=interp1(T,F,X,spline) %用三次樣條

16、方法插值F1=interp1(T,F,X,cubic) %用三次多項式方法插值所謂符號計算是指在運算時,無須事先對變量賦值,而將所得到結(jié)果以標(biāo)準(zhǔn)的符號形式來表示。MathWorks公司以Maple的內(nèi)核作為符號計算引擎(Engine),依賴Maple已有的函數(shù)庫,開發(fā)了實現(xiàn)符號計算的兩個工具箱:基本符號工具箱和擴(kuò)展符號工具箱。常見符號計算:解方程、微積分、簡化方程表達(dá)式等。六、Matlab符號計算功能2022/7/1132求極限 函數(shù)limit用于求符號函數(shù)f的極限。系統(tǒng)可以根據(jù)用戶要求,計算變量從不同方向趨近于指定值的極限值。該函數(shù)的格式及功能:1、微積分2022/7/1133 limit(

17、f,x,a):求符號函數(shù)f(x)的極限值。即計算當(dāng)變量x趨近于常數(shù)a時,f(x)函數(shù)的極限值。 limit(f,a):求符號函數(shù)f(x)的極限值。由于沒有指定符號函數(shù)f(x)的自變量,則使用該格式時,符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)自變量,既變量x趨近于a。limit(f):求符號函數(shù)f(x)的極限值。符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)變量;沒有指定變量的目標(biāo)值時,系統(tǒng)默認(rèn)變量趨近于0,即a=0的情況。limit(f,x,a,right):求符號函數(shù)f的極限值。right表示變量x從右邊趨近于a。limit(f,x,a,left):求符號函數(shù)f

18、的極限值。left表示變量x從左邊趨近于a。2022/7/1134【例1】求極限syms x; %定義符號變量f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/sin(x)3; %確定符號表達(dá)式w=limit(f) %求函數(shù)的極限運行結(jié)果:w = -1/22022/7/1135【例2】求導(dǎo)數(shù):x = sym(x); %定義符號變量diff(sin(x2) %求導(dǎo)運算運行結(jié)果:ans =2*cos(x2)*x2022/7/1136【例3】求下述積分。求積分:syms xint(1/(1+x2) ans =atan(x)2022/7/1137【例4】求級數(shù)的和:鍵入:1/12+1/22+1/32+1/42+ syms k symsum(1/k2,1,Inf) %k值為1到無窮大ans =1/6*pi2其結(jié)果為:1/12+1/22+1/32+1/42+ =2/62022/7/1138【例5】將表達(dá)式(x9-1)分解為多個因式。syms xfactor(x9-1)ans =(x-1)*(x2+x+1)*(x6+x3+1)2、簡化方

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論