MATLAB入門(mén)數(shù)學(xué)建模_第1頁(yè)
MATLAB入門(mén)數(shù)學(xué)建模_第2頁(yè)
MATLAB入門(mén)數(shù)學(xué)建模_第3頁(yè)
MATLAB入門(mén)數(shù)學(xué)建模_第4頁(yè)
MATLAB入門(mén)數(shù)學(xué)建模_第5頁(yè)
已閱讀5頁(yè),還剩127頁(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)介

MATLAB入門(mén)1第一頁(yè),共132頁(yè)。

啟動(dòng)方式:以鼠標(biāo)雙擊桌面上的MATLAB圖標(biāo)在『開(kāi)始』的主菜單下,選取『程序/Matlab/MATLAB6.5』

2第二頁(yè),共132頁(yè)。開(kāi)始按鈕命令歷史窗口窗口分割欄,可調(diào)整窗口大小當(dāng)前目錄工作區(qū)窗口幫助命令窗口顯示和修改當(dāng)前目錄名將窗口移出Matlab窗口MATLAB的界面3第三頁(yè),共132頁(yè)。MATLAB的界面中的五個(gè)窗口:1.命令窗口:(CommamdWindow)

在命令窗口中可以直接輸入命令行,以實(shí)現(xiàn)計(jì)算或繪圖功能.2.起始面板〔LaunchPad〕

該窗口中顯示MATLAB總包和已安裝的工具箱的幫助,演示,GUI工具和產(chǎn)品主頁(yè)4個(gè)方面的內(nèi)容.3.工作空間〔Wo(hù)rkspace〕該窗口中顯示當(dāng)前MATLAB的內(nèi)存中使用的變量的信息.4.命令歷史〔CommandHistory〕該窗口中顯示所有執(zhí)行過(guò)的命令.5.當(dāng)前目錄〔CurrentDirectory〕該窗口中顯示當(dāng)前工作目錄下所有文件的文件名,文件類(lèi)型和最后修改時(shí)間.4第四頁(yè),共132頁(yè)。

命令窗口的菜單欄菜單欄共包含F(xiàn)ile、Edit、Window和Help四項(xiàng)。File菜單項(xiàng):

New命令:用于建立M文件、圖形窗口。

Open命令:翻開(kāi)一個(gè)已經(jīng)建立的M文件。

RunScript命令:執(zhí)行一個(gè)命令文件。

LoadWorkspace命令:將變量裝入當(dāng)前空間。SaveWorkspaceAs命令:把當(dāng)前工作空間的所有變量用后綴為.mat的文件保存起來(lái)。5第五頁(yè),共132頁(yè)。ShowWorkspace命令:翻開(kāi)變量瀏覽器。

SetPath命令:翻開(kāi)MATLAB的路徑瀏覽器。

Preferences命令:翻開(kāi)命令窗口的顯示格式。

PrintSetup命令:設(shè)置打印機(jī)的參數(shù)。

Print命令:打印和設(shè)置一些打印參數(shù)。

PrintSelection命令:打印選中的內(nèi)容。

ExitMATLAB命令:退出MATLAB系統(tǒng)。6第六頁(yè),共132頁(yè)。Edit菜單項(xiàng):

Undo、Cut、Copy和Paste等命令:分別用于撤銷(xiāo)上一次操作、剪切、復(fù)制和粘貼。

Clear命令:刪除內(nèi)容。

SelectAll命令:用于選定所有文本內(nèi)容。

ClearSession命令:去除命令編輯區(qū)的全部?jī)?nèi)容,但并不刪除工作空間中的變量。7第七頁(yè),共132頁(yè)。Help菜單項(xiàng):HelpWindow命令:翻開(kāi)MATLAB的幫助窗口。HelpTips命令:翻開(kāi)幫助窗口,并首先顯示MATLAB的幫助系統(tǒng)的分類(lèi)和使用方法。HelpDesk(HTML)命令:翻開(kāi)系統(tǒng)WWW

瀏覽器,并顯示MATLAB的幫助桌面。ExamplesandDemos命令:可以通過(guò)演示MATLAB提供的例子來(lái)熟悉相關(guān)局部的用法。AboutMATLAB命令:翻開(kāi)關(guān)于MATLAB的版本和版權(quán)等信息。Subsribe命令:翻開(kāi)機(jī)器上的WWW瀏覽器,用戶(hù)通過(guò)填寫(xiě)相關(guān)的表格來(lái)獲得MathWorks公司的產(chǎn)品。8第八頁(yè),共132頁(yè)。

命令窗口的工具欄工具欄提供了一些命令按鈕,使用命令按鈕可使操作更快捷、更方便。工作空間新建剪切粘貼瀏覽器新仿真模型

翻開(kāi)復(fù)制撤消路徑瀏覽器幫助9第九頁(yè),共132頁(yè)。

變量和賦值語(yǔ)句MATLAB賦值語(yǔ)句有兩種形式:

(1)變量=表達(dá)式

(2)表達(dá)式其中“表達(dá)式〞是用運(yùn)算符將有關(guān)運(yùn)算量連接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。[注]第二種語(yǔ)句形式下,將表達(dá)式的值賦給MATLAB的永久變量ans。10第十頁(yè),共132頁(yè)。MATLAB表達(dá)式算術(shù)表達(dá)式。運(yùn)算符有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。關(guān)系表達(dá)式。運(yùn)算符有:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)邏輯表達(dá)式。運(yùn)算符有:&(與)、|(或)和~(非)11第十一頁(yè),共132頁(yè)。

運(yùn)算法那么:

(1)在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。

(2)參與邏輯運(yùn)算的可以是兩個(gè)標(biāo)量、兩個(gè)同維矩陣或參與邏輯運(yùn)算的元素一個(gè)為標(biāo)量,另一個(gè)為矩陣。

(3)在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。12第十二頁(yè),共132頁(yè)。MATLAB中變量的命名規(guī)那么〔1〕變量名必須是不含空格的單個(gè)詞;〔2〕變量名區(qū)分大小寫(xiě);〔3〕變量名最多不超過(guò)19個(gè)字符;〔4〕變量名必須以字母打頭,之后可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標(biāo)點(diǎn)符號(hào).13第十三頁(yè),共132頁(yè)。特殊變量表14第十四頁(yè),共132頁(yè)。

數(shù)學(xué)運(yùn)算符號(hào)及標(biāo)點(diǎn)符號(hào)15第十五頁(yè),共132頁(yè)。〔1〕MATLAB的每條命令后,假設(shè)為逗號(hào)或無(wú)標(biāo)點(diǎn)符號(hào),那么顯示命令的結(jié)果;假設(shè)命令后為分號(hào),那么禁止顯示結(jié)果.〔2〕“%〞后面所有文字為注釋.〔3〕“...〞表示續(xù)行.16第十六頁(yè),共132頁(yè)。3、數(shù)學(xué)函數(shù)17第十七頁(yè),共132頁(yè)。MATLAB的內(nèi)部函數(shù)是有限的,有時(shí)為了研究某一個(gè)函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),為此必須編寫(xiě)函數(shù)文件.函數(shù)文件是文件名后綴為M的文件,這類(lèi)文件的第一行必須是一特殊字符function開(kāi)始,格式為:

function因變量名=函數(shù)名〔自變量名〕函數(shù)值的獲得必須通過(guò)具體的運(yùn)算實(shí)現(xiàn),并賦給因變量.

M文件18第十八頁(yè),共132頁(yè)。M文件建立方法:

1.在Matlab中,點(diǎn):File->New->M-file2.在編輯窗口中輸入程序內(nèi)容

3.點(diǎn):File->Save,存盤(pán),M文件名必須與函數(shù)名一致。Matlab的應(yīng)用程序也以M文件保存。19第十九頁(yè),共132頁(yè)。例:定義函數(shù)f(x1,x2)=100(x2-x12)2+(1-x1)2functionf=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2例如:計(jì)算f(1,2),只需在Matlab命令窗口鍵入命令:x=[12]fun(x)20第二十頁(yè),共132頁(yè)。21第二十一頁(yè),共132頁(yè)。計(jì)算y1=2*sin(0.3*pi)/(1+sqrt(5))y1=0.5000

的值.【例】y2=2*cos(0.3*pi)/(1+sqrt(5))y2=0.363322第二十二頁(yè),共132頁(yè)。23第二十三頁(yè),共132頁(yè)。1、創(chuàng)立簡(jiǎn)單的數(shù)組二、數(shù)組24第二十四頁(yè),共132頁(yè)。

直接輸入向量x=[abcdef]創(chuàng)立包含指定元素的行向量例?x1=[124],x2=[1,2,1],x3=x1’

運(yùn)行結(jié)果

x1=124x2=121x3=12425第二十五頁(yè),共132頁(yè)。

冒號(hào)創(chuàng)立向量x=first:last

創(chuàng)立從first開(kāi)始,加1計(jì)數(shù),到last結(jié)束的行向量x=first:increment:last創(chuàng)立從first開(kāi)始,加increment計(jì)數(shù),last結(jié)束的行向量例x1=3.4:6.7,x3=2.6:-0.8:0

運(yùn)算結(jié)果x1=x2=x3=

26第二十六頁(yè),共132頁(yè)。

生成線性等分向量指令x=linspace(a,b,n)在[a,b]區(qū)間產(chǎn)生n個(gè)等分點(diǎn)(包括端點(diǎn))x=linspace(0,1,5)

結(jié)果

x=27第二十七頁(yè),共132頁(yè)。

函數(shù)計(jì)算產(chǎn)生函數(shù)向量Matlab有許多內(nèi)部函數(shù),可直接作用于向量產(chǎn)生一個(gè)同維的函數(shù)向量。x=linspace(0,4*pi,100);%產(chǎn)生100維向量xy=sin(x);%y也自動(dòng)為100維向量y1=sin(x).^2;y2=exp(-x).*sin(x);28第二十八頁(yè),共132頁(yè)。29第二十九頁(yè),共132頁(yè)。30第三十頁(yè),共132頁(yè)。a=logspace(n1,n2,n)

在對(duì)數(shù)空間上,行矢量的值從10n1到10n2,數(shù)據(jù)個(gè)數(shù)為n,缺省n為50。這個(gè)指令為建立對(duì)數(shù)頻域軸坐標(biāo)提供了方便。?a=logspace(1,3,3)a=10100100031第三十一頁(yè),共132頁(yè)。例:x=[123458718]x=[123458718]y=1:7y=[1234567]z=3:2:9z=[3579]v=[yz]v=[12345673579]u=linspace(2,6,8)u=[22.533.544.555.56]32第三十二頁(yè),共132頁(yè)。

2、數(shù)組元素的訪問(wèn)〔3〕直接使用元素編址序號(hào).x([abcd])表示提取數(shù)組x的第a、b、c、d個(gè)元素構(gòu)成一個(gè)新的數(shù)組[x(a)x(b)x(c)x(d)].〔2〕訪問(wèn)一塊元素:x(a:b:c)表示訪問(wèn)數(shù)組x的從第a個(gè)元素開(kāi)始,以步長(zhǎng)為b到第c個(gè)元素〔但不超過(guò)c〕,b可以為負(fù)數(shù),b缺損時(shí)為1.〔1〕訪問(wèn)一個(gè)元素:x(i)表示訪問(wèn)數(shù)組x的第i個(gè)元素.33第三十三頁(yè),共132頁(yè)。例:

x=1:9x=[123456789}y=x(2:2:8)y=[2468]z=[x(1)x(6)x(8)]z=[168]34第三十四頁(yè),共132頁(yè)。

3、數(shù)組的方向

前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的.稱(chēng)之為行向量.數(shù)組也可以是列向量,它的數(shù)組操作和運(yùn)算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示.

產(chǎn)生列向量有兩種方法:直接產(chǎn)生

,轉(zhuǎn)置產(chǎn)生

.例:c=[1;2;3;4]例:b=[1234];c=b’c=[1;2;3;4]

說(shuō)明:以空格或逗號(hào)分隔的元素指定的是不同列的元素,而以分號(hào)分隔的元素指定了不同行的元素.35第三十五頁(yè),共132頁(yè)。4、數(shù)組的運(yùn)算〔1〕標(biāo)量-數(shù)組運(yùn)算數(shù)組對(duì)標(biāo)量的加、減、乘、除、乘方是數(shù)組的每個(gè)元素對(duì)該標(biāo)量施加相應(yīng)的加、減、乘、除、乘方運(yùn)算.設(shè):a=[a1,a2,…,an],c=標(biāo)量那么:a+c=[a1+c,a2+c,…,an+c]a.*c=[a1*c,a2*c,…,an*c]a./c=[a1/c,a2/c,…,an/c](右除〕a.\c=[c/a1,c/a2,…,c/an](左除〕a.^c=[a1^c,a2^c,…,an^c]c.^a=[c^a1,c^a2,…,c^an]36第三十六頁(yè),共132頁(yè)?!?〕數(shù)組-數(shù)組運(yùn)算當(dāng)兩個(gè)數(shù)組有相同維數(shù)時(shí),加、減、乘、除、冪運(yùn)算可按元素對(duì)元素方式進(jìn)行的,不同大小或維數(shù)的數(shù)組是不能進(jìn)行運(yùn)算的.設(shè):a=[a1,a2,…,an],b=[b1,b2,…,bn]那么:a+b=[a1+b1,a2+b2,…,an+bn]a.*b=[a1*b1,a2*b2,…,an*bn]a./b=[a1/b1,a2/b2,…,an/bn]a.\b=[b1/a1,b2/a2,…,bn/an]a.^b=[a1^b1,a2^b2,…,an^bn]37第三十七頁(yè),共132頁(yè)。例a=[1234]c=2a1=a+ca1=[3456]a2=a.*ca2=[2468]a3=a./ca3=[0.511.52]a4=a.\ca4=[212/30.5]a5=a.^ca5=[14916]a6=c.^aa6=[24816]38第三十八頁(yè),共132頁(yè)。三、矩陣

逗號(hào)或空格用于分隔某一行的元素,分號(hào)用于區(qū)分不同的行.除了分號(hào),在輸入矩陣時(shí),按Enter鍵也表示開(kāi)始一新行.輸入矩陣時(shí),嚴(yán)格要求所有行有相同的列.

例m=[1234;5678;9101112]p=[111122223333]1、矩陣的建立39第三十九頁(yè),共132頁(yè)。特殊矩陣的建立:.d=eye(m,n)產(chǎn)生一個(gè)m行、n列的單位矩陣c=ones(m,n)產(chǎn)生一個(gè)m行、n列的元素全為1的矩陣b=zeros(m,n)產(chǎn)生一個(gè)m行、n列的零矩陣a=[]產(chǎn)生一個(gè)空矩陣,當(dāng)對(duì)一項(xiàng)操作無(wú)結(jié)果時(shí),返回空矩陣,空矩陣的大小為零.40第四十頁(yè),共132頁(yè)。例m=[1234;5678;9101112]p=[111122223333]a=[]p+a=pb=zeros(2,3)b=[000;000]c=ones(2,3)c=[111;111]d=eye(2,3)d=[100;010]e=eye(3,3)e=[100;010;001]41第四十一頁(yè),共132頁(yè)。2、矩陣中元素的操作〔1〕矩陣A的第r行:A〔r,:〕〔2〕矩陣A的第r列:A〔:,r〕〔4〕取矩陣A的第i1~i2行、第j1~j2列構(gòu)成新矩陣:A(i1:i2,j1:j2)〔5〕以逆序提取矩陣A的第i1~i2行,構(gòu)成新矩陣:A(i2:-1:i1,:〕〔6〕以逆序提取矩陣A的第j1~j2列,構(gòu)成新矩陣:A(:,j2:-1:j1〕〔7〕刪除A的第i1~i2行,構(gòu)成新矩陣:A(i1:i2,:)=[]〔8〕刪除A的第j1~j2列,構(gòu)成新矩陣:A(:,j1:j2)=[]〔9〕將矩陣A和B拼接成新矩陣:[AB];[A;B]〔3〕依次提取矩陣A的每一列,將A拉伸為一個(gè)列向量:A〔:〕42第四十二頁(yè),共132頁(yè)。例a=[123;456;789]a1=a(2,:)a1=[456]a2=a(:,2)a2=[258]’

a3=a(:)a3=[123456789]a4=a(1:2,2:3)a4=[23;56]a5=a(2:-1:1,:)a5=[456;123]a6=a(:,3:-1:2)a6=[32;65;98]

a7=a;a7(1:2,:)=[]a7=[789]a8=a;a8(:,1)=[]a8=[23;56;89]a9=[aa2]a9=[1232;4565;7898]a10=[a;a1]a10=[123;456;789;456]43第四十三頁(yè),共132頁(yè)。〔2〕矩陣-矩陣運(yùn)算

[1]元素對(duì)元素的運(yùn)算,同數(shù)組-數(shù)組運(yùn)算。3、矩陣的運(yùn)算〔1〕標(biāo)量-矩陣運(yùn)算同標(biāo)量-數(shù)組運(yùn)算。[2]矩陣運(yùn)算:矩陣加法:A+B矩陣乘法:A*B方陣的行列式:det〔A〕方陣的逆:inv〔A〕方陣的特征值與特征向量:[V,D]=eig[A]44第四十四頁(yè),共132頁(yè)。a=[12;34];b=[35;59]?a*b=[1323;2951]?a/b=[-0.500.50;3.50–1.50]?a\b=[-1-1;23]?a^3=[3754;81118]?a.*b=[310;1536]?a./b=[0.330.40;0.600.44]?a.\b=[3.002.50;1.672.25]?a.^3=[18;2764]

乘法運(yùn)算與點(diǎn)運(yùn)算

只有維數(shù)相同的矩陣才能進(jìn)行加減運(yùn)算。注意只有當(dāng)兩個(gè)矩陣中前一個(gè)矩陣的列數(shù)和后一個(gè)矩陣的行數(shù)相同時(shí),才可以進(jìn)行乘法運(yùn)算。a\b運(yùn)算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方陣才可以求冪。

點(diǎn)運(yùn)算是兩個(gè)維數(shù)相同矩陣對(duì)應(yīng)元素之間的運(yùn)算,在有的教材中也定義為數(shù)組運(yùn)算。45第四十五頁(yè),共132頁(yè)。

逆矩陣與行列式計(jì)算?a=[123;456;235];?b=inv(a)b=?det(a)ans=-346第四十六頁(yè),共132頁(yè)。例a=[123;456]b=[12;12;12]c1=a+ac1=[246;81012]c2=a*bc2=[612;1530]

C=[273;394;153]C3=det(c)%方陣C的行列式C4=inv(c)%方陣C的逆[v,d]=eig(c)%方陣C的特征值與特征向量47第四十七頁(yè),共132頁(yè)。

對(duì)于實(shí)矩陣用〔’〕符號(hào)或〔.’〕求轉(zhuǎn)置結(jié)果是一樣的;然而對(duì)于含復(fù)數(shù)的矩陣,那么〔’〕將同時(shí)對(duì)復(fù)數(shù)進(jìn)行共軛處理,而〔.’〕那么只是將其排列形式進(jìn)行轉(zhuǎn)置。?a=[123;456]'a=142536?b=[1+2i2-7i]'b=?b=[1+2i2-7i].'b=矩陣的轉(zhuǎn)置48第四十八頁(yè),共132頁(yè)。常用矩陣函數(shù)det(A):方陣的行列式;rank(A):矩陣的秩;eig(A):方陣的特征值和特征向量;trace(A):矩陣的跡;rref(A):初等變換階梯化矩陣Asvd(A):矩陣奇異值分解。cond(A):矩陣的條件數(shù);49第四十九頁(yè),共132頁(yè)。在MATLAB中,多項(xiàng)式使用降冪系數(shù)的行向量表示,如:多項(xiàng)式

多項(xiàng)式處理〔1〕多項(xiàng)式的建立與表示方法表示為:p=[1-12025116],。50第五十頁(yè),共132頁(yè)。r=roots(p)r=11.74732.7028p=poly(r)p=1-12-025116使用函數(shù)roots可以求出多項(xiàng)式等于0的根,根用列向量表示假設(shè)多項(xiàng)式等于0的根,函數(shù)poly可以求出相應(yīng)多項(xiàng)式。51第五十一頁(yè),共132頁(yè)。

多項(xiàng)式的運(yùn)算多項(xiàng)式相乘conva=[123];b=[12]c=conv(a,b)=1476conv指令可以嵌套使用,如conv(conv(a,b),c)多項(xiàng)式相除deconv[q,r]=deconv(c,b)q=123%商多項(xiàng)式

r=000%余多項(xiàng)式求多項(xiàng)式的微分多項(xiàng)式polyderpolyder(a)=22求多項(xiàng)式函數(shù)值polyval(p,n):

將值n代入多項(xiàng)式求解。polyval(a,2)=1152第五十二頁(yè),共132頁(yè)。

多項(xiàng)式的擬合

多項(xiàng)式擬合又稱(chēng)為曲線擬合,其目的就是在眾多的樣本點(diǎn)中進(jìn)行擬合,找出滿足樣本點(diǎn)分布的多項(xiàng)式。這在分析實(shí)驗(yàn)數(shù)據(jù),將實(shí)驗(yàn)數(shù)據(jù)做解析描述時(shí)非常有用。命令格式:p=polyfit(x,y,n),

其中x和y為樣本點(diǎn)向量,n為所求多項(xiàng)式的階數(shù),p為求出的多項(xiàng)式。53第五十三頁(yè),共132頁(yè)?!纠繉?duì)于給定數(shù)據(jù)對(duì)x0,y0,求擬合三階多項(xiàng)式,并圖示擬合情況。x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];n=3;P=polyfit(x0,y0,n)%

多項(xiàng)式擬合P=

xx=0:0.01:1;yy=polyval(P,xx);%擬合多項(xiàng)式的函數(shù)值plot(xx,yy,'-b',x0,y0,'.r','MarkerSize',20),xlabel('x')54第五十四頁(yè),共132頁(yè)。

采用三次多項(xiàng)式所得的擬合曲線55第五十五頁(yè),共132頁(yè)。用MATLAB作插值計(jì)算一維插值函數(shù):yi=interp1(x,y,xi,'method')插值方法被插值點(diǎn)插值節(jié)點(diǎn)xi處的插值結(jié)果‘nearest’

:最鄰近插值‘linear’

:線性插值;‘spline’

:三次樣條插值;‘cubic’

:立方插值。缺省時(shí):分段線性插值。

注意:所有的插值方法都要求x是單調(diào)的,并且xi不能夠超過(guò)x的范圍。56第五十六頁(yè),共132頁(yè)。

在有限樣本點(diǎn)向量xs與ys中,插值產(chǎn)生向量x和y,所用方法定義在method中,有4種選擇:

nearest:執(zhí)行速度最快,輸出結(jié)果為直角轉(zhuǎn)折

linear:默認(rèn)值,在樣本點(diǎn)上斜率變化很大

spline:最花時(shí)間,但輸出結(jié)果也最平滑

cubic:最占內(nèi)存,輸出結(jié)果與spline差不多

所用指令有一維的interp1、二維的interp2、三維的interp3.這些指令分別有不同的方法〔method〕,設(shè)計(jì)者可以根據(jù)需要選擇適當(dāng)?shù)姆椒?,以滿足系統(tǒng)屬性的要求.Helppolyfun可以得到更詳細(xì)的內(nèi)容。57第五十七頁(yè),共132頁(yè)。例:在1-12的11小時(shí)內(nèi),每隔1小時(shí)測(cè)量一次溫度,測(cè)得的溫度依次為:5,8,9,15,25,29,31,30,22,25,27,24。試估計(jì)每隔1/10小時(shí)的溫度值。hours=1:12;temps=[589152529313022252724];h=1:0.1:12;t=interp1(hours,temps,h,'spline');%直接輸出數(shù)據(jù)將是很多的plot(hours,temps,'+',h,t,hours,temps,'r:')%作圖xlabel('Hour'),ylabel('DegreesCelsius’)58第五十八頁(yè),共132頁(yè)。59第五十九頁(yè),共132頁(yè)?!纠恳运o數(shù)據(jù),研究一維插值,并觀察插值與擬合的區(qū)別。x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];

xi=0:0.02:1;yi=interp1(x0,y0,xi,'cubic');

plot(xi,yi,'b',x0,y0,'.r','MarkerSize',20),xlabel('x')60第六十頁(yè),共132頁(yè)。通過(guò)三次多項(xiàng)式插值所得的曲線61第六十一頁(yè),共132頁(yè)。x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];n=3;P=polyfit(x0,y0,n)%

多項(xiàng)式擬合P=xx=0:0.01:1;yy=polyval(P,xx);%擬合多項(xiàng)式的函數(shù)值plot(xx,yy,'-b',x0,y0,'.r','MarkerSize',20),xlabel('x')62第六十二頁(yè),共132頁(yè)。采用三次多項(xiàng)式擬合所得的曲線63第六十三頁(yè),共132頁(yè)。

要求x0,y0單調(diào);x,y可取為矩陣,或x取行向量,y取為列向量,x,y的值分別不能超出x0,y0的范圍。z=interp2(x0,y0,z0,x,y,’method’)被插值點(diǎn)插值方法用MATLAB作網(wǎng)格節(jié)點(diǎn)數(shù)據(jù)的插值插值節(jié)點(diǎn)被插值點(diǎn)的函數(shù)值‘nearest’最鄰近插值‘linear’雙線性插值‘cubic’雙三次插值缺省時(shí),雙線性插值64第六十四頁(yè),共132頁(yè)。例:測(cè)得平板外表3*5網(wǎng)格點(diǎn)處的溫度分別為:828180828479636165818484828586試作出平板外表的溫度分布曲面z=f(x,y)的圖形。輸入以下命令:x=1:5;y=1:3;temps=[8281808284;7963616581;8484828586];mesh(x,y,temps);1.先在三維坐標(biāo)畫(huà)出原始數(shù)據(jù),畫(huà)出粗糙的溫度分布曲圖.65第六十五頁(yè),共132頁(yè)。66第六十六頁(yè),共132頁(yè)。再輸入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi',yi,'cubic');mesh(xi,yi,zi)畫(huà)出插值后的溫度分布曲面圖.2.以平滑數(shù)據(jù),在x、y方向上每隔0.2個(gè)單位的地方進(jìn)行插值.67第六十七頁(yè),共132頁(yè)。68第六十八頁(yè),共132頁(yè)。擬合與插值的關(guān)系

函數(shù)插值與曲線擬合都是要根據(jù)一組數(shù)據(jù)構(gòu)造一個(gè)函數(shù)作為近似,由于近似的要求不同,二者的數(shù)學(xué)方法上是完全不同的。

實(shí)例:下面數(shù)據(jù)是某次實(shí)驗(yàn)所得,希望得到X和f之間的關(guān)系?問(wèn)題:給定一批數(shù)據(jù)點(diǎn),需確定滿足特定要求的曲線或曲面解決方案:假設(shè)不要求曲線〔面〕通過(guò)所有數(shù)據(jù)點(diǎn),而是要求它反映對(duì)象整體的變化趨勢(shì),這就是數(shù)據(jù)擬合,又稱(chēng)曲線擬合或曲面擬合。假設(shè)要求所求曲線〔面〕通過(guò)所給所有數(shù)據(jù)點(diǎn),就是插值問(wèn)題;69第六十九頁(yè),共132頁(yè)。最臨近插值與曲線擬合70第七十頁(yè),共132頁(yè)。線性插值與曲線擬合71第七十一頁(yè),共132頁(yè)。樣條插值與曲線擬合72第七十二頁(yè),共132頁(yè)。1、for循環(huán):允許一組命令以固定的和預(yù)定的次數(shù)重復(fù)

forx=array{commands}end

在for和end語(yǔ)句之間的命令串{commands}按數(shù)組〔array〕中的每一列執(zhí)行一次.在每一次迭代中,x被指定為數(shù)組的下一列,即在第n次循環(huán)中,x=array(:,n)控制流MATLAB提供三種決策或控制流結(jié)構(gòu):

for循環(huán)、while循環(huán)、if-else-end結(jié)構(gòu).

這些結(jié)構(gòu)經(jīng)常包含大量的MATLAB命令,故經(jīng)常出現(xiàn)在MATLAB程序中,而不是直接加在MATLAB提示符下.73第七十三頁(yè),共132頁(yè)。forn=1:10x(n)=sin(n*pi/10);endxx=Columns1through5Columns6through100.95110.80900.58780.30900.0000例對(duì)n=1,2,…,10,求x(n)=的值

74第七十四頁(yè),共132頁(yè)。

whileexpression{commands}end

只要在表達(dá)式(expression)里的所有元素為真,就執(zhí)行while和end語(yǔ)句之間的命令串{commands}.2、While循環(huán)

與for循環(huán)以固定次數(shù)求一組命令相反,while循環(huán)以不定的次數(shù)求一組語(yǔ)句的值.

75第七十五頁(yè),共132頁(yè)。money=10000years=0whilemoney<20000years=years+1money=money*(1+11.25/100)%按復(fù)利計(jì)算end例設(shè)銀行年利率為11.25%。將10000元錢(qián)存入銀行,問(wèn)多長(zhǎng)時(shí)間會(huì)連本帶利翻一番?76第七十六頁(yè),共132頁(yè)。77第七十七頁(yè),共132頁(yè)。計(jì)算結(jié)果years=1money=11125years=2money=1.2377e+004years=3money=1.3769e+004years=4money=1.5318e+004years=5money=1.7041e+004years=6money=1.8958e+004years=7money=2.1091e+00478第七十八頁(yè),共132頁(yè)。3、If-Else-End結(jié)構(gòu)〔1〕有一個(gè)選擇的一般形式是:

ifexpression{commands}end

如果在表達(dá)式(expression)里的所有元素為真,就執(zhí)行if和end語(yǔ)句之間的命令串{commands}.

79第七十九頁(yè),共132頁(yè)。functionf=fun1(x)%編制M文件ifx>1f=x^2+1endifx<=1f=2*xEnd先建立M文件fun1.m,定義函數(shù)f(x),再在Matlab命令窗口輸入fun1(2),fun1(-1)即可。80第八十頁(yè),共132頁(yè)。81第八十一頁(yè),共132頁(yè)。82第八十二頁(yè),共132頁(yè)。2)有三個(gè)或更多的選擇的一般形式是:

if〔expression1〕{commands1}elseif〔expression2〕{commands2}elseif〔expression3〕{commands3}elseif………………………else{commands}endendend……end83第八十三頁(yè),共132頁(yè)。

定義函數(shù)f〔x〕,再在Matlab命令窗口輸入fun2(2)fun2(0.5)fun2(-1)即可。84第八十四頁(yè),共132頁(yè)。functionf=fun2(x)%編制M文件ifx>1f=x^2+1elseifx<=0f=x^3elsef=2*xendend85第八十五頁(yè),共132頁(yè)。86第八十六頁(yè),共132頁(yè)。87第八十七頁(yè),共132頁(yè)?!纠坷煤瘮?shù)文件,實(shí)現(xiàn)直角坐標(biāo)(x,y)與極坐標(biāo)(γ,θ)之間的轉(zhuǎn)換。

%M函數(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=:');[gama,theta]=tran(x,y);gamatheta88第八十八頁(yè),共132頁(yè)。89第八十九頁(yè),共132頁(yè)。90第九十頁(yè),共132頁(yè)?!纠?/p>

利用函數(shù)的遞歸調(diào)用,求n!。functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;endreturn;%返回在命令文件main2.m中調(diào)用函數(shù)文件factor.m:

forn=1:10fac(n)=factor(n);endfac程序運(yùn)行結(jié)果是:

fac=Columns1through612624120720Columns7through1050440320362880362880091第九十一頁(yè),共132頁(yè)。92第九十二頁(yè),共132頁(yè)。93第九十三頁(yè),共132頁(yè)?!纠?】編寫(xiě)函數(shù)文件求小于任意自然數(shù)n的Fibonacci數(shù)列各項(xiàng)。%用于求Fibonacci數(shù)列的函數(shù)文件

functionf=ffib(n)f=[1,1];i=1;whilef(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;end文件存盤(pán),然后在命令窗口輸入:ffib(2000).94第九十四頁(yè),共132頁(yè)。95第九十五頁(yè),共132頁(yè)。96第九十六頁(yè),共132頁(yè)。符號(hào)微積分用Matlab符號(hào)工具箱〔SymbolicToolbox〕可以進(jìn)行符號(hào)演算97第九十七頁(yè),共132頁(yè)。創(chuàng)立符號(hào)變量1.創(chuàng)立單個(gè)符號(hào)變量;

symvar2;創(chuàng)立多個(gè)符號(hào)變量;

symsvar1var2…3.創(chuàng)立符號(hào)表達(dá)式,賦予f;

f=sym(‘符號(hào)表達(dá)式’)4.創(chuàng)立符號(hào)方程。

equ=sym('equation')98第九十八頁(yè),共132頁(yè)。極限limit(表達(dá)式,var,a):求當(dāng)var→a,表達(dá)式的極限例:求極限:symsxlimit((sin(x)-sin(3*x))/sin(x),x,0)運(yùn)行結(jié)果-299第九十九頁(yè),共132頁(yè)。100第一百頁(yè),共132頁(yè)?!纠壳蠼鈫芜厴O限問(wèn)題

Symsx;limit((exp(x^3)-1)/(1-cos(sqrt(x-sin(x)))),x,0,'right')101第一百零一頁(yè),共132頁(yè)。102第一百零二頁(yè),共132頁(yè)?!纠吭嚽蠼鈽O限問(wèn)題

symsxab;f=x*(1+a/x)^x*sin(b/x);L=limit(f,x,inf)103第一百零三頁(yè),共132頁(yè)。104第一百零四頁(yè),共132頁(yè)。求導(dǎo)diff(f,‘var’,n)

求f對(duì)變量var的n階導(dǎo)數(shù)缺省n時(shí)為求一階導(dǎo)數(shù)缺省變量'

溫馨提示

  • 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)論