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

下載本文檔

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

文檔簡(jiǎn)介

數(shù)學(xué)建模中常用的數(shù)學(xué)軟件許淳延安大學(xué)計(jì)算機(jī)學(xué)院

數(shù)學(xué)建模常用數(shù)學(xué)軟件:1、Matlab2、Lindo/Lingo2024/6/203一、Matlab概述及主要應(yīng)用領(lǐng)域

二、Matlab運(yùn)行方式

三、Matlab矩陣存儲(chǔ)與生成

四、MatlabM文件與函數(shù)五、Matlab數(shù)值計(jì)算功能

六、Matlab符號(hào)計(jì)算功能MATLAB軟件目錄2024/6/204一、Matlab概述及主要應(yīng)用領(lǐng)域MATLAB

(MATrixLABorotory,矩陣實(shí)驗(yàn)室)語(yǔ)言是一種廣泛應(yīng)用于工程計(jì)算及數(shù)值分析領(lǐng)域的新型高級(jí)語(yǔ)言,于1984年由美國(guó)MathWorks推出,現(xiàn)已成為國(guó)際公認(rèn)的最優(yōu)秀的工程應(yīng)用開(kāi)發(fā)環(huán)境。MATLAB功能強(qiáng)大、簡(jiǎn)單易學(xué)、編程效率高,深受廣大科技工作者的歡迎。2024/6/205在歐美各高等院校,MATLAB已經(jīng)成為線(xiàn)性代數(shù)、自動(dòng)控制理論、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,成為大學(xué)生、碩士生以及博士生必須掌握的基本技能。1、MATLAB能干什么?數(shù)學(xué)計(jì)算、算法開(kāi)發(fā)、數(shù)據(jù)采集建模、仿真、原型數(shù)據(jù)分析、開(kāi)發(fā)和可視化科學(xué)和工程圖形應(yīng)用程序的開(kāi)發(fā),包括圖形用戶(hù)界面的創(chuàng)建。2、MATLAB廣泛應(yīng)用于:數(shù)值計(jì)算、圖形處理、符號(hào)運(yùn)算、數(shù)學(xué)建模、系統(tǒng)辨識(shí)、小波分析、實(shí)時(shí)控制、動(dòng)態(tài)仿真等領(lǐng)域。2024/6/2062024/6/207工作區(qū)窗口命令歷史窗口命令窗口工具欄菜單欄MATLAB的主界面Matlab的運(yùn)行方式包括交互式的命令行方式和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]將顯示一個(gè)5*5矩陣。M文件方式,可分為命令M文件和函數(shù)M文件。2024/6/208二、Matlab運(yùn)行方式矩陣是MATLAB最基本的數(shù)據(jù)對(duì)象,大部分運(yùn)算或命令都是在矩陣運(yùn)算的意義下執(zhí)行的。在MATLAB中,不需對(duì)矩陣的維數(shù)和類(lèi)型進(jìn)行說(shuō)明,MATLAB會(huì)根據(jù)用戶(hù)所輸入的內(nèi)容自動(dòng)進(jìn)行配置。2024/6/209三、Matlab矩陣存儲(chǔ)與生成2024/6/20101.建立矩陣建立矩陣可以用:直接輸入法、利用函數(shù)建立矩陣和利用M文件建立矩陣。1)直接輸入法:將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。(也可以用回車(chē)鍵代替分號(hào))例如,鍵入命令:A=[123;456;789]輸出結(jié)果是:A=123

456

7892024/6/20112)利用函數(shù)建立數(shù)值矩陣:MATLAB提供了許多生成和操作矩陣的函數(shù),可以利用它們?nèi)ソ⒕仃?。例?reshape函數(shù)和diag函數(shù)等。reshape函數(shù)用于建立數(shù)值矩陣。diag函數(shù)用于產(chǎn)生對(duì)角陣。3)利用M文件建立矩陣:對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。其步驟為:第一步:使用編輯程序輸入文件內(nèi)容。第二步:把輸入的內(nèi)容以純文本方式存盤(pán)(設(shè)文件名為mymatrix.m)。第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。2024/6/20122.冒號(hào)表達(dá)式 在MATLAB中,冒號(hào)是一個(gè)重要的運(yùn)算符。利用它可以產(chǎn)生向量,還可用來(lái)拆分矩陣。冒號(hào)表達(dá)式的一般格式是:

e1:e2:e3其中e1為初始值,e2為步長(zhǎng),e3為終止值。冒號(hào)表達(dá)式可產(chǎn)生一個(gè)由e1開(kāi)始到e3結(jié)束,以步長(zhǎng)e2自增的行向量。2024/6/20133.建立矩陣的函數(shù)常用函數(shù)有:eye(size(A))產(chǎn)生與A矩陣同階的單位矩陣zeros(m,n)產(chǎn)生0矩陣ones(m,n)產(chǎn)生幺矩陣

rand(m,n)產(chǎn)生隨機(jī)元素的矩陣size(a)返回包含兩個(gè)元素的向量。length(a)返回向量的最大者。1、M文件用MATLAB語(yǔ)言編寫(xiě)的程序,稱(chēng)為M文件。M文件有兩類(lèi):命令文件和函數(shù)文件。命令文件:沒(méi)有輸入?yún)?shù),也不返回輸出參數(shù)。函數(shù)文件:可以輸入?yún)?shù),也可返回輸出參數(shù)。建立新的M文件:

從MATLAB命令窗口的File菜單中選擇New菜單項(xiàng),再選擇M-file命令。編輯已有的M文件:從MATLAB命令窗口的Flie菜單中選擇OpenM-file命令。2024/6/2014四、MatlabM文件與函數(shù)2024/6/2015將需要運(yùn)行的命令編輯到一個(gè)命令文件中,然后在MATLAB命令窗口輸入該命令文件的名字,就會(huì)順序執(zhí)行命令文件中的命令。

【例1】

建立一個(gè)命令文件將變量a,b的值互換。

e31.m文件:a=1:9;b=[11,12,13;14,15,16;17,18,19];c=a;a=b;b=c;ab

在MATLAB的命令窗口中輸入e31,將會(huì)執(zhí)行該命令文件。2.命令文件2024/6/20162、

函數(shù)文件每一個(gè)函數(shù)文件都定義一個(gè)函數(shù)。事實(shí)上,MATLAB提供的標(biāo)準(zhǔn)函數(shù)大部分都是由函數(shù)文件定義的。1.函數(shù)文件格式函數(shù)文件由function語(yǔ)句引導(dǎo),其格式為:

function輸出形參表=函數(shù)名(輸入形參表)

注釋說(shuō)明部分函數(shù)體注:其中函數(shù)名的命名規(guī)則與變量名相同。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當(dāng)輸出形參多于1個(gè)時(shí),則應(yīng)該用方括號(hào)括起來(lái)。2024/6/20172.函數(shù)調(diào)用函數(shù)文件編制好后,就可調(diào)用函數(shù)進(jìn)行計(jì)算。函數(shù)調(diào)用的一般格式是:

[輸出實(shí)參表]=函數(shù)名(輸入實(shí)參表)2024/6/2018【例2】

利用函數(shù)文件,實(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的命令文件main1.m:

x=input('Pleaseinputx=:');y=input('Pleaseinputy=:');[gam,the]=tran(x,y);gamthe方程(組)求解導(dǎo)數(shù)和微分?jǐn)?shù)值積分線(xiàn)性?xún)?yōu)化和非線(xiàn)性?xún)?yōu)化曲線(xiàn)擬合與插值2024/6/2019五、Matlab數(shù)值計(jì)算功能1、方程求解例1:求解以x3-4x+5=0. 命令如下: f=@(x)x.^3-4*x+5;%匿名函數(shù)

z=fzero(f,1)

運(yùn)行結(jié)果:z=-2.4567例2:求多項(xiàng)式方程x3-8x2+6x-30=0的解.p=[1,-8,6,-30];r=roots(p)運(yùn)行結(jié)果:r=7.72600.1370+1.9658i0.1370-1.9658i2024/6/2020說(shuō)明:1點(diǎn)乘是數(shù)組的運(yùn)算,不加點(diǎn)是矩陣的運(yùn)算;2點(diǎn)乘要求參與運(yùn)算的兩個(gè)量?jī)杀仨毷蔷S數(shù)相同,是對(duì)應(yīng)元素的相乘;

2024/6/2021例3:求下列三階線(xiàn)性代數(shù)方程組的近似解。MATLAB程序?yàn)椋篈=[2-54;15-2;-124];b=[5;6;5];x=A\b2024/6/2022在MATLAB命令窗口,先輸入下列命令構(gòu)造系數(shù)矩陣A和右端向量b:A=[2-54;15-2;-124]A=2-5415-2-124b=[5;6;5]b=565然后只需輸入命令x=A\b即可求得解x:x=A\bx=2.76741.18601.34882、導(dǎo)數(shù)和微分例4:求向量sin(X)的1~3階差分。設(shè)X由[0,2π]間均勻分布的10個(gè)點(diǎn)組成。命令如下:X=linspace(0,2*pi,10);Y=sin(X);DY=diff(Y);%計(jì)算Y的一階差分D2Y=diff(Y,2);%計(jì)算Y的二階差分,也可用命令diff(DY)計(jì)算D3Y=diff(Y,3);%計(jì)算Y的三階差分,也可用diff(D2Y)或diff(DY,2)2024/6/20232024/6/20243、數(shù)值積分例5:求無(wú)窮定積分>>[y,kk]=quad(f,-8,8)y=1.00000197533430kk=81>>[y1,kk1]=quad8(f,-8,8)y1=1.00000000000023kk1=161>>[y,kk]=quad(f,-15,15)y=0.99999920879563kk=89>>[y1,kk1]=quad8(f,-15,15)y1=0.99999999999999kk1=769該無(wú)窮定積分的理論值為1>>f=inline('1/sqrt(2*pi)*exp(-x.^2/2)','x');4、線(xiàn)性?xún)?yōu)化和非線(xiàn)性?xún)?yōu)化例6:求下面的優(yōu)化問(wèn)題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;2024/6/2025f=[-5;-4;-6];A=[1-11;324;320];b=[20;42;30];lb=zeros(3,1);[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)2024/6/20262024/6/2027例7:2024/6/20283.主程序youh3.m為:x0=[-1;1];A=[];b=[];Aeq=[11];beq=[0];vlb=[];vub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb,vub,'mycon')4.運(yùn)算結(jié)果為:

x=-1.22501.2250fval=1.89511.先建立M文件fun4.m,定義目標(biāo)函數(shù):

functionf=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定義非線(xiàn)性約束:

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、曲線(xiàn)擬合與插值例8:用一個(gè)5次多項(xiàng)式在區(qū)間[0,2π]內(nèi)逼近函數(shù)sin(x)。命令如下:X=linspace(0,2*pi,50);Y=sin(X);[P,S]=polyfit(X,Y,5)%得到5次多項(xiàng)式的系數(shù)和誤差plot(X,Y,'k*',X,polyval(P,X),'k-')例9:已知檢測(cè)參數(shù)f隨時(shí)間t的采樣結(jié)果,用數(shù)值插值法計(jì)算t=2,7,12,17,22,17,32,37,42,47,52,57時(shí)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)%用線(xiàn)性方法插值F1=interp1(T,F,X,'nearest')%用最近方法插值F1=interp1(T,F,X,'spline')%用三次樣條方法插值F1=interp1(T,F,X,'cubic')%用三次多項(xiàng)式方法插值所謂符號(hào)計(jì)算是指在運(yùn)算時(shí),無(wú)須事先對(duì)變量賦值,而將所得到結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式來(lái)表示。MathWorks公司以Maple的內(nèi)核作為符號(hào)計(jì)算引擎(Engine),依賴(lài)Maple已有的函數(shù)庫(kù),開(kāi)發(fā)了實(shí)現(xiàn)符號(hào)計(jì)算的兩個(gè)工具箱:基本符號(hào)工具箱和擴(kuò)展符號(hào)工具箱。常見(jiàn)符號(hào)計(jì)算:解方程、微積分、簡(jiǎn)化方程表達(dá)式等。2024/6/2032六、Matlab符號(hào)計(jì)算功能2024/6/2033求極限函數(shù)limit用于求符號(hào)函數(shù)f的極限。系統(tǒng)可以根據(jù)用戶(hù)要求,計(jì)算變量從不同方向趨近于指定值的極限值。該函數(shù)的格式及功能:1、微積分2024/6/2034

limit(f,x,a):求符號(hào)函數(shù)f(x)的極限值。即計(jì)算當(dāng)變量x趨近于常數(shù)a時(shí),f(x)函數(shù)的極限值。

limit(f,a):求符號(hào)函數(shù)f(x)的極限值。由于沒(méi)有指定符號(hào)函數(shù)f(x)的自變量,則使用該格式時(shí),符號(hào)函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)自變量,既變量x趨近于a。limit(f):求符號(hào)函數(shù)f(x)的極限值。符號(hào)函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)變量;沒(méi)有指定變量的目標(biāo)值時(shí),系統(tǒng)默認(rèn)變量趨近于0,即a=0的情況。limit(f,x,a,'right'):求符號(hào)函數(shù)f的極限值。'right'表示變量x從右邊趨近于a。limit(f,x,a,'left'):求符號(hào)函數(shù)f的極限值。'left'表示變量x從左邊趨近于a。2024/6/2035【例1】求極限symsx;%定義符號(hào)變量f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)^3;%確定符號(hào)表達(dá)式w=limit(f)%求函數(shù)的極限運(yùn)行結(jié)果:w=-1/22024/6/2036【例2】求導(dǎo)數(shù):x=sym('x');%定義符號(hào)變量diff(sin(x^2))%求導(dǎo)運(yùn)算運(yùn)行結(jié)果:ans=2*cos(x^2)*x2024/6/2037【例3】求下述積分。求積分:symsxint(1/(1+x^2))ans=atan(x)2024/6/2038【例4】求級(jí)數(shù)的和:鍵入:1/12+1/22+1/32+1/42+……symsksymsum(1/k^2,1,Inf)%k值為1到無(wú)窮大ans=1/6*pi^2其結(jié)果為:1/12+1/22+1/32+1/42+……=π2/62024/6/2039【例5】將表達(dá)式(x^9-1)分解為多個(gè)因式。symsxfactor(x^9-1)ans=(x-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論