




已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
系立項(xiàng)建設(shè)實(shí)驗(yàn)指導(dǎo)書(shū)MATLAB程序設(shè)計(jì)與應(yīng)用實(shí)驗(yàn)主 編:王 春、段守付物理與電子信息工程系目 錄前 言1實(shí)驗(yàn)一 熟悉MATLAB 環(huán)境2實(shí)驗(yàn)二 數(shù)值數(shù)組創(chuàng)建、應(yīng)用及可視化6實(shí)驗(yàn)三 字符串?dāng)?shù)組的使用、簡(jiǎn)單腳本文件和函數(shù)的編寫(xiě)10實(shí)驗(yàn)四 數(shù)據(jù)可視化方法17實(shí)驗(yàn)五 簡(jiǎn)單數(shù)據(jù)分析23實(shí)驗(yàn)六 MATLAB 仿真初步27實(shí)驗(yàn)七 電路模型仿真應(yīng)用30實(shí)驗(yàn)八 簡(jiǎn)單圖形用戶界面設(shè)計(jì)32附錄:MATLAB 主要函數(shù)指令表(按字母順序索引)35前 言美國(guó)MathWorks公司推出的MATLAB是一種集數(shù)值計(jì)算、符號(hào)、運(yùn)算、可視化建模、仿真和圖形處理等多種功能于一體的優(yōu)秀編程、仿真工具,被譽(yù)為“巨人肩膀上的工具”、“演算紙式的編程語(yǔ)言”,是從事科學(xué)研究、工程計(jì)算的廣大科技工作者、理工類(lèi)高校師生確認(rèn)為必須掌握的計(jì)算工具,是從理論通向?qū)嶋H的橋梁,也是最可信賴的科技資源之一。為了配合學(xué)生上機(jī)實(shí)踐,更好掌握MATLAB 的基本使用技能,了解MATLAB 的編程風(fēng)格,以及將所學(xué)課程與MATLAB 實(shí)踐相結(jié)合,特別編寫(xiě)了本實(shí)驗(yàn)講義。其主要內(nèi)容包括:MATLAB 入門(mén)及基本操作,數(shù)組、矩陣的使用及數(shù)據(jù)可視化方法,腳步文件及函數(shù)的編寫(xiě),以及仿真、圖形用戶界面入門(mén)等。MATLAB 內(nèi)容豐富,內(nèi)嵌了許多功能函數(shù)。為了方便課堂教學(xué)使用,也顧及查閱功能,在書(shū)后的索引中按照字母順序?qū)ΤR?jiàn)MATLAB 函數(shù)進(jìn)行了分類(lèi),以備讀者查閱需要。本書(shū)編寫(xiě)由王春、段守付完成。由于編者水平有限,書(shū)中難免存在不妥之處,懇請(qǐng)廣大讀者指正。同時(shí),我們也會(huì)在適當(dāng)時(shí)間進(jìn)行修訂和補(bǔ)充。實(shí)驗(yàn)一 熟悉MATLAB 環(huán)境實(shí)驗(yàn)?zāi)康?熟悉MATLAB 主界面,并學(xué)會(huì)簡(jiǎn)單的菜單操作。2學(xué)會(huì)簡(jiǎn)單的矩陣輸入與信號(hào)輸入。3掌握部分繪圖函數(shù)。實(shí)驗(yàn)原理MATLAB 是以復(fù)雜矩陣作為基本編程單元的一種程序設(shè)計(jì)語(yǔ)言。它提供了各種矩陣的運(yùn)算與操作,并有較強(qiáng)的繪圖功能。用戶第一次使用MATLAB 時(shí),建議首先在屏幕上鍵入demo 命令,它將啟動(dòng)MATLAB 的演試程序,用戶可在此演示程序中領(lǐng)略MATLAB 所提供的強(qiáng)大的運(yùn)算與繪圖功能。也可以鍵入help 進(jìn)行進(jìn)一步了解。MATLAB 啟動(dòng)界面如圖所示:操作界面主要的介紹如下: 指令窗(Command Window),在該窗可鍵入各種送給MATLAB 運(yùn)作的指令、函數(shù)、表達(dá)式,并顯示除圖形外的所以運(yùn)算結(jié)果。 歷史指令窗(Command History),該窗記錄已經(jīng)運(yùn)行過(guò)的指令、函數(shù)、表達(dá)式;允許用戶對(duì)它們進(jìn)行選擇復(fù)制、重運(yùn)行,以及產(chǎn)生M 文件。 工作空間瀏覽器(Workspace Browser),該窗口羅列出MATLAB 工作空間中所有的變量名、大小、字節(jié)數(shù);并且在該窗中,可對(duì)變量進(jìn)行觀察、編輯、提取和保存。其它還有當(dāng)前目錄瀏覽器( Current Directory Browser ) 、M 文件編輯/ 調(diào)試器(Editor/Debugger)以及幫助導(dǎo)航/瀏覽器(Help Navigator/Browser)等,但通常不隨操作界面的出現(xiàn)而啟動(dòng)。利用File 菜單可方便對(duì)文件或窗口進(jìn)行管理。其中File | New 的各子菜單,M-file(M 文件)、Figure(圖形窗口)、或Model(SIMULINK 編輯界面)分別可創(chuàng)建對(duì)應(yīng)文件或模塊。Edit 菜單允許用戶和Windows 的剪切板交互信息。MATLAB 語(yǔ)言最基本的賦值語(yǔ)句結(jié)構(gòu)為:變量名列表=表達(dá)式。表達(dá)式由操作符或其它字符,函數(shù)和變量名組成,表達(dá)式的結(jié)果為一個(gè)矩陣,顯示在屏幕上,同時(shí)輸送到一個(gè)變量中并存放于工作空間中以備調(diào)用。如果變量名和“=”省略,則ans 變量將自動(dòng)建立,例如鍵入:1900/81,得到輸出結(jié)果:ans =23.4568。MATLAB 中變量命名的原則要求必須以英文字母開(kāi)頭,文件夾名字中可以還包括、下劃線和數(shù)字,不要使用其他的字符,更不要單純使用數(shù)字或者中文名命名,有時(shí)在運(yùn)行MATLAB 中一些莫名的錯(cuò)誤可能就是不規(guī)范的命名引起的。這種規(guī)則包括將來(lái)為自己編寫(xiě)的腳本文件、函數(shù)文件命名以及為使用的變量命名也應(yīng)遵循這個(gè)規(guī)則。實(shí)驗(yàn)內(nèi)容一用戶工作目錄和當(dāng)前目錄的建立和設(shè)置1 為管理方便,每個(gè)用戶在使用MATLAB 前,盡量為自己建立一個(gè)專(zhuān)門(mén)的工作目錄,即“用戶目錄”,用來(lái)存放自己創(chuàng)建應(yīng)用文件。例如首先打開(kāi)資源管理器,在E 驅(qū)動(dòng)器下可以根據(jù)自己喜好建立一個(gè)新文件夾,但應(yīng)注意:該文件夾必須以英文開(kāi)頭,文件夾名字中可以包括字母、下劃線和數(shù)字,不要使用其他的字符,更不要單純使用數(shù)字或者中文名命名,有時(shí)在運(yùn)行MATLAB 中一些莫名的錯(cuò)誤可能就是不規(guī)范的命名引起的,這與MATLAB 中為變量和文件名命名原則是一致的。盡管MATLABwork允許用戶存放用戶文件,但最好把它僅作為臨時(shí)工作目錄來(lái)使用。2 為了用戶運(yùn)行方便,在開(kāi)始工作前可把用戶定義的目錄設(shè)置為當(dāng)前目錄,方法是可直接在MATLAB 命令窗口桌面上方通過(guò)目錄設(shè)置欄來(lái)實(shí)現(xiàn)。3 把自己的工作目錄加到MATLAB 搜索路徑上,這樣可以在任何情況下方便地調(diào)用自己的編寫(xiě)文件。MATLAB 工作時(shí),基本搜索過(guò)程為:首先在工作空間,即MATLAB 內(nèi)存中進(jìn)行檢查,看輸入的指令是不是變量;如不是,則檢查輸入指令是不是內(nèi)建函數(shù)(比如sin 函數(shù)等);如不是,則在當(dāng)前目錄上,檢查是否有與輸入指令相同的M文件存在;如還沒(méi)有,則在MATLAB 定義的搜索路徑其他目錄中,檢查是否有該M文件存在。設(shè)置方法是通過(guò)File 菜單下設(shè)置路徑對(duì)話框進(jìn)行。二熟悉簡(jiǎn)單的矩陣輸1 從屏幕上輸入矩陣A=1 2 3;4 5 6;7 8 9 回車(chē)A=1,2,3;4,5,6;7,8,9 回車(chē)觀察輸出結(jié)果。2 試用回車(chē)代替分號(hào),觀察輸出結(jié)果。3 輸入size(A),觀察結(jié)果。4 輸入矩陣B=9,8,7;6,5,4;3,2,1;回車(chē)輸入矩陣C=4,5,6;7,8,9;1,2,3;回車(chē),然后分別鍵入A B C 回車(chē)觀察結(jié)果。5 選擇File|new 菜單中的M-file,輸入B=9 ,8,7;6,5,4;3,2,1;保存為B.M 文件,退出編輯環(huán)境。此時(shí)在工作環(huán)境中使用B 命令就可調(diào)出B 矩陣。6 再試著輸入一些矩陣,矩陣中的元素可為任意數(shù)值表達(dá)式,但注意:矩陣中各行各列的元素個(gè)數(shù)需分別相等,否則會(huì)給出出錯(cuò)信息。7 輸入who 和whos 觀察結(jié)果,了解其作用。二常用基本命令的使用數(shù)據(jù)文件的存取訓(xùn)練:利用save 和load 指令可以方便地把當(dāng)前工作空間的數(shù)據(jù)變量保存為數(shù)據(jù)文件。接題一,輸入:save a 回車(chē),表示把當(dāng)前工作空間的所有變量保存為a.mat 文件。輸入save a A C 回車(chē),表示把當(dāng)前內(nèi)存中的變量A、C 保存為a.mat 文件。類(lèi)似的還有l(wèi)oad 命令,實(shí)現(xiàn)保存數(shù)據(jù)變量的裝載,執(zhí)行clear 命令,然后運(yùn)行l(wèi)oad a 回車(chē),觀察工作空間的變化。save、load、clear 命令還有一些其他的應(yīng)用格式,具體可參看幫助文件。三基本序列運(yùn)算1 數(shù)組的加減乘除和乘方運(yùn)算2 輸入A=1 2 3,B=4 5 6,求C=A+B,D=A-B,E=A.*B,F(xiàn)=A./B,G=A.B,并用stem畫(huà)出A,B,C,D,E,F(xiàn),G。再輸入一些數(shù)組,進(jìn)行類(lèi)似運(yùn)算。3 在命令窗口用plot 指令粗略描繪下列各函數(shù)的波形(其中對(duì)于連續(xù)信號(hào)可取時(shí)間間隔為0.001,可參看下面的a 的實(shí)例來(lái)實(shí)現(xiàn),數(shù)學(xué)函數(shù)MATLAB 實(shí)現(xiàn)參見(jiàn)附錄)a. 實(shí)現(xiàn)方法,在命令窗口執(zhí)行一下指令,可簡(jiǎn)單描繪出函數(shù)曲線:t=0:.001:3;y=3-exp(-t);plot(t,y)b. c. d. 2 t 3)可以找出數(shù)組X 中所有絕對(duì)值大于3 的元素。另外還可以借助ones, zeros, rand, randn 和cat,repmat, reshape 等函數(shù)直接或間接構(gòu)作高維數(shù)組,詳見(jiàn)附錄或MATLAB 幫助。Matlab 中的許多函數(shù)可以直接對(duì)任意維的數(shù)組直接運(yùn)算,相當(dāng)于對(duì)數(shù)組中的每個(gè)元素分別進(jìn)行運(yùn)算。比如Y=sin(X)可以直接得到與數(shù)組X 中每一個(gè)元素相對(duì)應(yīng)的的正弦值,這大大簡(jiǎn)化了編程??梢詧?zhí)行數(shù)組運(yùn)算的常用函數(shù)已經(jīng)列表于附錄中,以供參考。但值得注意的是,雖然從外觀形狀和數(shù)據(jù)結(jié)構(gòu)上看,二維數(shù)組和(數(shù)學(xué)中的)矩陣)沒(méi)有區(qū)別,但矩陣作為一種變換或映射算子的體現(xiàn),矩陣運(yùn)算有著明確而嚴(yán)格的數(shù)學(xué)規(guī)則。數(shù)組運(yùn)算是MATLAB軟件所定義的規(guī)則,其目的是為了數(shù)據(jù)管理方便、操作簡(jiǎn)單、指令形式自然和執(zhí)行計(jì)算的有效。為了區(qū)別數(shù)組和矩陣運(yùn)算,在易混淆的地方,數(shù)組運(yùn)算在運(yùn)算符前加一小黑點(diǎn)“.”以示區(qū)別,比如Y=A.*B,代表的示數(shù)組A 和數(shù)組B 對(duì)應(yīng)元素相乘,而Y=A*B,則表示內(nèi)維相同的矩陣A 和B 的乘積。由此也可看出,在執(zhí)行數(shù)組與數(shù)組的運(yùn)算時(shí),參與運(yùn)算的數(shù)組必須同維,運(yùn)算所得結(jié)果也總與原數(shù)組同維。本節(jié)只涉及數(shù)組可視化方法的簡(jiǎn)單實(shí)現(xiàn)。通常,對(duì)于離散數(shù)據(jù)可采用stem 命令或者使用plot 繪點(diǎn)的方法,而對(duì)于連續(xù)函數(shù)可直接采用plot 指令來(lái)實(shí)現(xiàn)。實(shí)驗(yàn)內(nèi)容一數(shù)組的創(chuàng)建和尋訪1一維數(shù)組在命令窗口執(zhí)行下面指令,觀察輸出結(jié)果,體味數(shù)組創(chuàng)建和尋訪方法,%號(hào)后面的為注釋?zhuān)挥幂斎?。rand(state,0) %把均勻分布偽隨機(jī)發(fā)生器置為0 狀態(tài)x=rand(1,5) %產(chǎn)生(1 5) 的均布隨機(jī)數(shù)組x(3) %尋訪數(shù)組x 的第三個(gè)元素。x(1 2 5) %尋訪數(shù)組x 的第一、二、五個(gè)元素組成的子數(shù)組。x(1:3) %尋訪前三個(gè)元素組成的子數(shù)組x(3:end) %尋訪除前2 個(gè)元素外的全部其他元素。end 是最后一個(gè)元素的下標(biāo)。x(3:-1:1) %由前三個(gè)元素倒排構(gòu)成的子數(shù)組x(find(x0.5) %由大于0.5 的元素構(gòu)成的子數(shù)組x(1 2 3 4 4 3 2 1) %對(duì)元素可以重復(fù)尋訪,使所得數(shù)組長(zhǎng)度允許大于原數(shù)組。x(3) = 0 %把上例中的第三個(gè)元素重新賦值為0x(1 4)=1 1 %把當(dāng)前x 數(shù)組的第一、四個(gè)元素都賦值為1x3=; %空數(shù)組的賦值操作2二維數(shù)組(1)在命令窗口執(zhí)行下面指令,觀察輸出結(jié)果a=2.7358; b=33/79; %這兩條指令分別給變量 a ,b 賦值。C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i %這指令用于創(chuàng)建二維數(shù)%組CM_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16 %創(chuàng)建復(fù)數(shù)數(shù)組的另一種方法CN=M_r+i*M_i %由實(shí)部、虛部數(shù)組構(gòu)成復(fù)數(shù)數(shù)組(2)利用M 文件創(chuàng)建和保存下面的數(shù)組(分號(hào)后面是一個(gè)空格后加3 個(gè)小數(shù)點(diǎn),表示換行續(xù)寫(xiě))AM=101,102,103,104,105,106,107,108,109;.201,202,203,204,205,206,207,208,209;.301,302,303,304,305,306,307,308,309;(3)仿照問(wèn)題1 中方法找出數(shù)組A 中所有絕對(duì)值大于3 的元素。(4)在命令窗口執(zhí)行下面指令,體會(huì)二維數(shù)組的子數(shù)組尋訪和賦值A(chǔ)=zeros(2,4) %創(chuàng)建(2 4) 的全零數(shù)組A(:)=1:8 %全元素賦值方式s=2 3 5; %產(chǎn)生單下標(biāo)數(shù)組行數(shù)組A(s) %由“單下標(biāo)行數(shù)組”尋訪產(chǎn)生A 元素組成的行數(shù)組Sa=10 20 30 %Sa 是長(zhǎng)度為3 的“列數(shù)組”A(s)=Sa %單下標(biāo)方式賦值A(chǔ)(:,2 3)=ones(2) %雙下標(biāo)賦值方式:把A 的第2、3 列元素全賦為1(5)運(yùn)行指令rand(state,11),A=rand(3,10000);B=(A0.5);C=2*B-1;首先預(yù)測(cè)(C*C)/100 的運(yùn)行結(jié)果,然后再在機(jī)器上驗(yàn)證。(本方法提供了產(chǎn)生通信等仿真中常需若干獨(dú)立的雙隨機(jī)碼的方法原型。)(6)在命令窗口執(zhí)行下面指令,體味數(shù)組運(yùn)算與矩陣運(yùn)算的區(qū)別clear;A=zeros(2,3);A(:)=1:6; %全元素賦值法A=A*(1+i) %運(yùn)用標(biāo)量與數(shù)組乘產(chǎn)生復(fù)數(shù)矩陣A_A=A. %數(shù)組轉(zhuǎn)置,即非共軛轉(zhuǎn)置,其中單引號(hào)實(shí)現(xiàn)轉(zhuǎn)置功能A_M=A %矩陣轉(zhuǎn)置,即共軛轉(zhuǎn)置二編寫(xiě)如圖所示波形的MATLAB 腳本文件,圖中虛線為正弦波,要求它分別在及處削頂。圖1可能用到的額外指令: find、hold on、hold off、 legend,具體使用方法使用help指令名來(lái)解答。實(shí)驗(yàn)三 字符串?dāng)?shù)組的使用、簡(jiǎn)單腳本文件和函數(shù)的編寫(xiě)實(shí)驗(yàn)?zāi)康?掌握字符串?dāng)?shù)組的創(chuàng)建和構(gòu)造方法及常用字符串函數(shù)的使用。2熟練掌握MATLAB 控制流的使用方法。3熟悉M 腳本文件、函數(shù)文件的編寫(xiě)方法和技巧。實(shí)驗(yàn)原理與數(shù)值數(shù)組相比,串?dāng)?shù)組在MATLAB 中的重要性較小,但不可缺少。如果沒(méi)有串?dāng)?shù)組及相應(yīng)的操作,那么數(shù)據(jù)可視化、圖形用戶界面的制作將會(huì)遇到困難。字符串與數(shù)值數(shù)組是兩種不同的數(shù)據(jù)類(lèi),它們的創(chuàng)建方式也不同。字符串的創(chuàng)建方式是:將待建的字符放在“單引號(hào)對(duì)”中。注意,“單引號(hào)對(duì)”必須是在英文狀態(tài)下輸入,其作用是MATLAB 識(shí)別送來(lái)內(nèi)容“身份”所必需的,如A=This is an example!;就創(chuàng)建了一個(gè)字符串A。注意創(chuàng)建帶單引號(hào)的字符串時(shí),每個(gè)單引號(hào)符用“連續(xù)2 個(gè)單引號(hào)符”標(biāo)識(shí)。字符串的標(biāo)識(shí)同數(shù)值數(shù)組同,而且也可以使用size 指令觀察串?dāng)?shù)組的大小。串?dāng)?shù)組的ASCII 碼可以通過(guò)指令abs 和double 來(lái)獲取,而用char 指令可以把ASCII 碼變?yōu)榇當(dāng)?shù)組,另外,MATLAB 可以很好的支持中文字符串?dāng)?shù)組。對(duì)于復(fù)雜串?dāng)?shù)組的創(chuàng)建,一是可以直接創(chuàng)建,但是要保證同一串?dāng)?shù)組的各行字符數(shù)相等,即保證各行等長(zhǎng),不推薦,太繁瑣。二是可以利用串操作函數(shù)創(chuàng)建多行數(shù)組,比如char, str2mat, strvcat 等,具體操作自己通過(guò)幫助體會(huì)。另外還可以通過(guò)轉(zhuǎn)化函數(shù)產(chǎn)生數(shù)碼字符長(zhǎng),比如A_str=int2str(A) 就是把整數(shù)數(shù)組A 轉(zhuǎn)換成串?dāng)?shù)組,如果是非整數(shù)將被四舍五入后再轉(zhuǎn)換,類(lèi)似的函數(shù)還有num2str(把非整數(shù)數(shù)組轉(zhuǎn)換為串?dāng)?shù)組,常用于圖形中數(shù)據(jù)點(diǎn)的標(biāo)識(shí))、mat2str(把數(shù)值數(shù)組轉(zhuǎn)換成輸入形態(tài)的串?dāng)?shù)組,常與eval 指令配用)。假如想靈活運(yùn)用MATLAB 去解決實(shí)際問(wèn)題,想充分調(diào)動(dòng)MATLAB科學(xué)技術(shù)資源,想理解MATLAB 版本升級(jí)所依仗的基礎(chǔ),那么掌握M 腳本文件合函數(shù)的編寫(xiě)規(guī)則將十分有用。用戶通過(guò)本次實(shí)驗(yàn),感受抽象概念的內(nèi)涵、各指令間的協(xié)調(diào),從感知上領(lǐng)悟MATLAB 編程的優(yōu)越和要領(lǐng)。編寫(xiě)M 腳本文件的步驟:l 點(diǎn)擊MATLAB 指令窗工具條上的New File圖標(biāo) ,就可打開(kāi)如上圖所示的MATLAB 文件編輯調(diào)試器MATLAB Editor/Debugger。其窗口名為untitled ,用戶即可在空白窗口中編寫(xiě)程序。l 點(diǎn)擊編輯調(diào)試器工具條圖標(biāo) ,在彈出的Windows 標(biāo)準(zhǔn)風(fēng)格的“保存為”對(duì)話框中,選擇保存文件夾,鍵入新編文件名(如newfile.m),點(diǎn)動(dòng)【保存】鍵,就完成了文件保存。l 運(yùn)行可有兩種方法,一種是直接點(diǎn)擊編輯調(diào)試工具條圖標(biāo),即可直接運(yùn)行;或者使newfile.m 所在目錄成為當(dāng)前目錄,或讓該目錄處在MATLAB 的搜索路徑上,然后在命令窗口鍵入指令newfile回車(chē),便可得到運(yùn)行結(jié)果。l 調(diào)試程序方法有多種,常見(jiàn)的是設(shè)置斷點(diǎn)的方法,將光標(biāo)移到程序欲執(zhí)行到的位置,點(diǎn)擊編輯調(diào)試工具條圖標(biāo),保存后運(yùn)行,程序?qū)⑼V乖谠撜Z(yǔ)句位置并彈出編輯器界面等待用戶下一步運(yùn)行的指令,只有再次點(diǎn)擊按鈕,才繼續(xù)向下執(zhí)行。相應(yīng)的按下按鈕,表示清除所有斷點(diǎn)。如果不設(shè)置斷點(diǎn),也可以在程序中加入pause 指令,使得程序在此處暫停,只有用戶按任意鍵程序才依次向下執(zhí)行。則在pause 指令的前面位置我們可以通過(guò)交互的方式得到我們想要的信息,以檢測(cè)程序的正確性。 編寫(xiě)MATLAB 腳本文件或函數(shù)文件時(shí)要區(qū)分開(kāi)與C 語(yǔ)言格式的不同。MATALB 使用變量前不需要聲明數(shù)據(jù)類(lèi)型,對(duì)于所有的數(shù)值型數(shù)據(jù)MATLAB 均以Double 型存儲(chǔ)。另外編程時(shí)盡量使用MATLAB 向量(數(shù)組)編程方式,可大大提高編程效率,盡量避免過(guò)多使用for 循環(huán)等語(yǔ)句。MATLAB 提供了五種控制流的結(jié)構(gòu):for 循環(huán)結(jié)構(gòu),while 循環(huán)結(jié)構(gòu),if-else-end 分支結(jié)構(gòu),以及switch-case 結(jié)果、try-catch 結(jié)構(gòu)。這些控制指令用法與其他語(yǔ)言十分類(lèi)似,這里只給出簡(jiǎn)要說(shuō)明。For 循環(huán): while 循環(huán)結(jié)構(gòu)for x=array(commands)end while expression(commands)end if-else-end 結(jié)構(gòu) 單分支(常用) 雙分支(常用) 多分支(常被swith-case 取代)if expression(commands1)else(commands1)endif expression(commands)end if expression1(commands1)elseif expression2(commands2)else(commandsk)endend上面幾條控制語(yǔ)句中,for 循環(huán)結(jié)構(gòu)中x 稱為循環(huán)變量,組命令(commands)被稱為循環(huán)體,循環(huán)體被重復(fù)執(zhí)行的次數(shù)是確定的,該次數(shù)由for 指令后面的數(shù)組array 的列數(shù)決定。換言之,循環(huán)變量依次取數(shù)組的各列,對(duì)于每個(gè)變量值,循環(huán)體被執(zhí)行一次。while 循環(huán)是首先檢測(cè)expression 的值,如其值為邏輯真(非0),則執(zhí)行組命令,當(dāng)組命令執(zhí)行完畢,繼續(xù)檢測(cè)表達(dá)式的值,仍為真,循環(huán)執(zhí)行組命令,一旦表達(dá)式值為假,就結(jié)束循環(huán)。一般情況下,表達(dá)式的值是標(biāo)量值,但MATLAB 允許其為一個(gè)數(shù)組,此時(shí)只有該數(shù)組所有元素均為真時(shí),MATLAB 才會(huì)執(zhí)行循環(huán)體。若表達(dá)式為空數(shù)組,則不執(zhí)行循環(huán)體。if 指令判決和break 指令的配合使用,可以強(qiáng)制中止for 循環(huán)或while 循環(huán)。switch-case 結(jié)構(gòu) try-catch 結(jié)構(gòu)switch excase test1(commands 1)case test2case testk(commands k)otherwise(commands) try ex(commands 1)catch(commands 2)end switch 指令后面的表達(dá)式應(yīng)為一個(gè)標(biāo)量或者為一個(gè)字符串。對(duì)于標(biāo)量形式的表達(dá)式,比較這樣進(jìn)行:表達(dá)式檢測(cè)值i。對(duì)于字符串,MATLAB 將調(diào)用函數(shù)strcmp 來(lái)實(shí)現(xiàn)比較:strcmp(表達(dá)式,檢測(cè)值i).try-catch 結(jié)構(gòu),只有當(dāng)MATLAB 在執(zhí)行組命令1 時(shí)出現(xiàn)錯(cuò)誤后,組命令2 才會(huì)被執(zhí)行。當(dāng)執(zhí)行組命令2 時(shí)又出錯(cuò),MATLAB 將中止該結(jié)構(gòu)。隨指令數(shù)的增加或隨控制流復(fù)雜度的增加,以及重復(fù)計(jì)算要求的提出,采用M 腳本文件進(jìn)行編程較為適宜。這種腳本文件的構(gòu)成比較簡(jiǎn)單,它是一串按照用戶意圖排列而成的MATLAB 指令集合。腳本文件運(yùn)行后,所產(chǎn)生的所有變量都駐留在MATLAB 基本工作空間中,只要用戶不使用clear 指令加以清除,且MATLAB 指令窗口不關(guān)閉,這些變量將一直保存在基本工作空間中。與腳本文件不同的,函數(shù)文件猶如一個(gè)“黑箱”。從外界只能看到傳給它的輸入量和送出的計(jì)算結(jié)果,而內(nèi)部運(yùn)作是藏而不見(jiàn)的,特點(diǎn)是:l 從形式上看,與腳本文件不同,函數(shù)文件的第一行總是以“function”引導(dǎo)的“函數(shù)聲明行”。該行還羅列出函數(shù)與外界的聯(lián)系的全部“標(biāo)稱”輸入輸出宗量。但對(duì)“輸入輸出宗量”的標(biāo)稱數(shù)目并沒(méi)有限制,即可以完全沒(méi)有輸入輸出宗量,也可以是任意數(shù)目。形如unction sa=circle(r,s)。這里r、s 稱為輸入宗量,sa 稱為輸出宗量,函數(shù)名為circle,同時(shí)注意保存的函數(shù)文件名應(yīng)與這里的函數(shù)名一致,即存為circle.m 文件。l MATLAB 允許使用比“標(biāo)稱”數(shù)目較少的輸入輸出宗量實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用,但前提是函數(shù)中應(yīng)該有相應(yīng)的處理程序。l 從運(yùn)行上看,與腳本文件不同,每當(dāng)函數(shù)文件運(yùn)行時(shí),MATLAB 就會(huì)專(zhuān)門(mén)為它開(kāi)辟一個(gè)臨時(shí)的工作空間,稱之為函數(shù)工作空間。所有中間變量都存放在函數(shù)工作空間中。當(dāng)執(zhí)行完文件最后一條指令或遇到return 時(shí),就結(jié)束該函數(shù)文件的運(yùn)行,同時(shí)該臨時(shí)函數(shù)空間及其所有的中間變量就立即被清除。l 假如在函數(shù)文件中,發(fā)生對(duì)某腳本文件的調(diào)用,那么該腳本文件運(yùn)行產(chǎn)生的所有變量都存放在該函數(shù)空間中,而不是存放在基本空間。實(shí)驗(yàn)內(nèi)容一串?dāng)?shù)組的創(chuàng)建和尋訪1 先請(qǐng)實(shí)際操作下例,以體會(huì)數(shù)值量與字符串的區(qū)別clear %清除所有內(nèi)存變量a=12345.6789 %給變量a 賦數(shù)值標(biāo)量class(a) %對(duì)變量a的類(lèi)別進(jìn)行判斷a_s=size(a) %數(shù)值數(shù)組a 的“大小”b=S %給變量b賦字符標(biāo)量(即單個(gè)字符)class(b) %對(duì)變量b的類(lèi)別進(jìn)行判斷b_s=size(b) %符號(hào)數(shù)組b 的“大小whos %觀察變量a,b 在內(nèi)存中所占字節(jié)2 已知串?dāng)?shù)組a=”This is an example.”,試將其到序輸出。3 接上題,試執(zhí)行ascii_a=double(a),觀察其ASCII 碼,并將ASCII 碼變回字符串。4 設(shè)A=”這是一個(gè)算例”,重復(fù)上面的23。5 嘗試用直接輸入法在命令窗口創(chuàng)建字符串s,第一行時(shí)“This string array”,第二行是“has multiple rows.”。6 利用串操作函數(shù)char、str2mat、strvcat 分別寫(xiě)出使以下這段文字成為字符串的程序,注意保持這段文字的格式。在英式用法中,引號(hào)通常是單引號(hào),如Fire!。In GB usage quotation marks are usually single:Fire!.二腳本文件實(shí)現(xiàn),0 t 3 ,并在圖上標(biāo)出圖名和極大值點(diǎn)坐標(biāo)。如下圖所示。可能用到的函數(shù):num2str, char, text, hold on, 具體應(yīng)用自己查找help 文檔。三編程實(shí)現(xiàn)分別用for 或while 循環(huán)語(yǔ)句計(jì)算: 的程序,并給出運(yùn)行結(jié)果。此外,實(shí)現(xiàn)一種避免使用循環(huán)的的計(jì)算程序。四函數(shù)文件1 詳讀并運(yùn)行下面的circle.m 函數(shù)文件。體會(huì)M 函數(shù)文件的編寫(xiě)結(jié)構(gòu)及方法。%后面的內(nèi)容稱為注釋行,不被執(zhí)行,起注釋說(shuō)明作用。function sa = circle(r,s) % 首行是函數(shù)聲明行,以function開(kāi)頭%CIRCLE 以制定顏色畫(huà)半徑為r的圓面% r 指定半徑的數(shù)值% s 指定線色的字符串% sa 圓面積% circle(r) 利用藍(lán)實(shí)線畫(huà)半徑為 r 的圓周線.% circle(r,s) 利用串 s 指定的線色畫(huà)半徑為 r 的圓周線.% sa=circle(r) 計(jì)算圓面積,并畫(huà)半徑為 r 的藍(lán)色圓面.% sa=circle(r,s) 計(jì) 算圓面積,并畫(huà)半徑為 r 的 s 色圓面.% 編寫(xiě)于1999年4月7日,修改于1999年8月27日。if nargin2 % nargin表示輸入宗量的變量個(gè)數(shù),是系統(tǒng)保留變量error(輸入宗量太多。); % error把引號(hào)的內(nèi)容在命令窗口前加問(wèn)號(hào)輸出endif nargin=1s=b;endclf %清圖形窗口t=0:pi/100:2*pi;x=r*exp(i*t);if nargout=0 % nargin表示輸出宗量的變量個(gè)數(shù),是系統(tǒng)保留變量plot(x,s);elsesa=pi*r*r;fill(real(x),imag(x),s) % fill指令是填充顏色指令,具體看幫助endaxis(square) % 使得輸出圖形坐標(biāo)為正方形2 編寫(xiě)一個(gè)簡(jiǎn)單的函數(shù)文件,它具有如下性質(zhì):該函數(shù)被調(diào)用時(shí),如果不指定輸入變量,則自動(dòng)輸出“用戶,你忘記給定輸入變量了!”;當(dāng)輸入大于1 的整數(shù)時(shí),則輸出“你是一個(gè)合法用戶!”;當(dāng)輸入的是一個(gè)非正整數(shù)時(shí),函數(shù)文件會(huì)給出一個(gè)錯(cuò)誤提示“你是非法用戶!”【提示:可能用到disp,error 等指令,使用方法自己查詢幫助】實(shí)驗(yàn)四 數(shù)據(jù)可視化方法實(shí)驗(yàn)?zāi)康?掌握曲線繪制的基本技法和指令,會(huì)使用線形、色彩、數(shù)據(jù)點(diǎn)標(biāo)記表現(xiàn)不同數(shù)據(jù)的特征,掌握生成和運(yùn)用標(biāo)識(shí)注釋圖形。2進(jìn)一步掌握函數(shù)編寫(xiě)及數(shù)據(jù)可視化方法。實(shí)驗(yàn)原理MATLAB 提供了相當(dāng)強(qiáng)大的可視化指令,通過(guò)這些指令,我們可以非常簡(jiǎn)單地實(shí)現(xiàn)數(shù)據(jù)的可視化。首先我們來(lái)看離散數(shù)據(jù)和離散函數(shù)的可視化方法。對(duì)于離散實(shí)函數(shù)yn=f(xn) ,當(dāng)xn以遞增(或遞減)次序取值時(shí),根據(jù)函數(shù)關(guān)系可以求得同樣數(shù)目的yn,當(dāng)把這兩組向量用直角坐標(biāo)中的點(diǎn)次序圖示時(shí),就實(shí)現(xiàn)了離散函數(shù)的可視化。當(dāng)然這種圖形上的離散序列所反映的只是某確定的有限區(qū)間內(nèi)的函數(shù)關(guān)系,不能表現(xiàn)無(wú)限區(qū)間上的函數(shù)關(guān)系。通常我們可以采用plot 或者stem 來(lái)實(shí)現(xiàn)。只是需要注意的是使用plot 時(shí),需要使用星號(hào)或者點(diǎn)等標(biāo)識(shí)來(lái)表示數(shù)據(jù)點(diǎn),比如plot(xn,yn,r*,MarkerSize,20),就表示用字號(hào)20的紅色星點(diǎn)來(lái)標(biāo)識(shí)數(shù)據(jù)點(diǎn),此時(shí)為了便于觀察,通常隨后加上一條語(yǔ)句“grid on”,即給圖形加上坐標(biāo)方格。而采用stem 標(biāo)識(shí)數(shù)據(jù)點(diǎn)的格式是stem(xn,yn)。連續(xù)函數(shù)的可視化與離散函數(shù)可視化類(lèi)似,也必須先在一組離散自變量上計(jì)算相應(yīng)的函數(shù)值,并把這一組“數(shù)據(jù)點(diǎn)”用點(diǎn)圖示。但這些離散的點(diǎn)不能表現(xiàn)函數(shù)的連續(xù)性。為了進(jìn)一步表示離散點(diǎn)之間的函數(shù)函數(shù)情況,MATLAB 有兩種常用處理方法:一是對(duì)區(qū)間進(jìn)行更細(xì)的分割,計(jì)算更多的點(diǎn),去近似表現(xiàn)函數(shù)的連續(xù)變化;或者把兩點(diǎn)用直線連接,近似表現(xiàn)兩點(diǎn)間的(一般為非線性的)函數(shù)形狀。但要注意,倘若自變量的采樣點(diǎn)不足夠多,則無(wú)論哪種方法都不能真實(shí)地反映原函數(shù)。對(duì)于二維數(shù)據(jù),常用指令仍舊是plot。對(duì)于離散數(shù)據(jù),plot指令默認(rèn)處理方法是:自動(dòng)地把這些離散數(shù)據(jù)用直線(即采用線性插值)連接,使之成為連續(xù)曲線。對(duì)于三維圖形的表示,通常有plot3 等指令。通常,繪制二維或三維圖形的一般步驟如下表所示:步驟典型指令1曲線數(shù)據(jù)準(zhǔn)備l 先取一個(gè)參變量采用向量l 然后計(jì)算各坐標(biāo)數(shù)據(jù)向量t=0:.001:3*pi; %參變量采用向量t=linspace(0,3*pi,1000) %參變量采用向量另種方式%y=f(t); %計(jì)算相應(yīng)的函數(shù)值2選定圖形窗及子圖位置l 缺省時(shí),打開(kāi)Figure No.1,或當(dāng)前窗,當(dāng)前子圖l 可用指令指定圖形窗號(hào)和子圖號(hào)figure(1) %指定1 號(hào)圖形窗Subplot(2,2,3) %指定3 號(hào)子圖3調(diào)用二維或三維繪圖指令指定好線形、色彩、數(shù)據(jù)點(diǎn)形plot(t,y,r:) %用紅虛點(diǎn)畫(huà)二維線,畫(huà)三維可用%plot3 指令,此處略4設(shè)置軸的范圍、坐標(biāo)分格線axis(x1,x2,y1,y2) %平面坐標(biāo)范圍grid on % 坐標(biāo)分格線5圖形注釋?zhuān)簣D名、坐標(biāo)名、圖例、文字說(shuō)明等title(調(diào)制圖形) % 圖名xlabel(t); ylabel(y) % 軸名legend(sin(t),sin(t)sin(9t) % 圖例text(2,0.5,y=sin(t)sin(9t) %文字說(shuō)明6著色、明暗、燈光、材質(zhì)處理等(僅對(duì)三維圖形使用)colormap, shading, light, material7視點(diǎn)、三度(橫、縱、高)比(僅對(duì)三維圖形使用)view, aspect8圖形的精確修飾(圖柄操作)l 利用對(duì)象屬性值設(shè)置l 利用圖形窗工具條進(jìn)行g(shù)et, set9打印l 圖形窗上的直接打印選項(xiàng)或按鍵l 利用圖形后處理軟件打印%采用圖形窗選項(xiàng)或按鍵打印最簡(jiǎn)捷print dsp2 %專(zhuān)業(yè)質(zhì)量打印指令說(shuō)明:l 步驟1、3 是最基本的繪圖步驟,一般來(lái)說(shuō),由這兩步所畫(huà)出的圖形已經(jīng)具備足夠的表現(xiàn)力。至于其他步驟,并不完全必需。l 用戶可根據(jù)自己需要改變上面繪圖步驟,并不必嚴(yán)格按照?qǐng)?zhí)行。l 步驟2 一般在圖形較多情況下使用,此時(shí)需要指定圖形窗、指定子圖。l 步驟8 涉及圖柄操作,需要對(duì)圖形對(duì)象進(jìn)行屬性設(shè)置,較為復(fù)雜。l MATLAB 提供了交互式圖形編輯功能,可方便地對(duì)圖形精細(xì)修飾。plot 等繪圖指令的典型調(diào)用格式為:plot(t,y,s)。其中s 是用來(lái)指定線型、色彩、數(shù)據(jù)點(diǎn)形的選項(xiàng)字符串。S 的合法取值如下所示,格式形如r+。如果缺省,此時(shí)線型、色彩、數(shù)據(jù)點(diǎn)形將由MATLAB 默認(rèn)設(shè)置確定。plot 進(jìn)一步的使用可參看幫助文檔。s 可用來(lái)指定的線形分別有:“-”實(shí)線,“:”虛線,“-.”點(diǎn)劃線,“-”雙劃線。s 可用來(lái)指定的色彩分別有:b藍(lán),g綠,r紅,c青,y黃,w白, k黑。s 可用來(lái)指定的數(shù)據(jù)點(diǎn)形有:“.”實(shí)心黑點(diǎn),“+”十字符, “”朝上三角符,“v”朝下三角符,“d”菱形符,“p”五角星符等。常用的坐標(biāo)控制指令axis 使用是最多的,比如axis(x1,x2,y1,y2)可人工設(shè)定坐標(biāo)范圍,axis off 可取消軸背景,axis equal 橫縱軸采用等長(zhǎng)刻度等。其他使用見(jiàn)幫助。需要特別指出的是,當(dāng)遇到在已經(jīng)存在的圖上再繪制一條或多條曲線,可使用hold on指令,可保持當(dāng)前軸及圖形保持不被刷新,并準(zhǔn)備接收此后繪制的新曲線,hold off 則取消此功能。對(duì)于想畫(huà)多個(gè)獨(dú)立的圖形,則會(huì)用到figure(n)指令,這里n 為整數(shù),可順序從1 向后排。如果想在特定圖形中布置幾幅獨(dú)立的子圖,則會(huì)用到subplot(m,n,k),即在(mn)幅子圖中的第k 幅成為當(dāng)前圖;subplot(position,left bottonwidth height),表示在指定位置上開(kāi)辟子圖,并成為當(dāng)前圖。使用clf 指令可清除圖形窗的內(nèi)容。另外MATLAB 還提供了ginput、gtext、legend 等交換指令。x,y=ginput(n),可用鼠標(biāo)從二維圖形上獲取n 個(gè)點(diǎn)的數(shù)據(jù)坐標(biāo)(x,y),該指令只適用于二維圖形,在數(shù)值優(yōu)化、工程設(shè)計(jì)中十分有用。通常在使用前先對(duì)圖進(jìn)行局部放大處理。實(shí)驗(yàn)內(nèi)容一仿照運(yùn)行,體會(huì)數(shù)據(jù)可視化方法。1已知n=0,1,12,y=|(n-6)|-1,運(yùn)行下面程序,體會(huì)離散數(shù)據(jù)可視化方法。% 用stem 實(shí)現(xiàn)離散數(shù)據(jù)可視化n=0:12;y=1./abs(n-6);stem(n,y)% 用plot 實(shí)現(xiàn)離散數(shù)據(jù)可視化n=0:12; %產(chǎn)生一組自變量數(shù)據(jù)y=1./abs(n-6); %計(jì)算相應(yīng)點(diǎn)的函數(shù)值plot(n,y,r*,MarkerSize,20) %用紅花標(biāo)出數(shù)據(jù)點(diǎn)grid on %畫(huà)坐標(biāo)方格 說(shuō)明:l plot 和stem 指令均可以實(shí)現(xiàn)離散數(shù)據(jù)的可視化,但通常plot 更常用于連續(xù)函數(shù)中特殊點(diǎn)的標(biāo)記;而stem 廣泛運(yùn)行與數(shù)字信號(hào)處理中離散點(diǎn)的圖示。l 用戶在運(yùn)行上面例程時(shí)會(huì)發(fā)現(xiàn)在命令窗口出現(xiàn)警告:Warning: Divide byzero!即警告程序中出現(xiàn)非零數(shù)除以0 的指令。MATLAB 對(duì)于這種情況并不中止程序,只是給該項(xiàng)賦值為inf 以做標(biāo)記。2下面時(shí)用圖形表示連續(xù)調(diào)制波形y = sin(t)sin(9t) ,仿照運(yùn)行,分析表現(xiàn)形式不同的原因。cleart1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi; y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,r.),axis(0,pi,-1,1),title(子圖 (1)subplot(2,2,2),plot(t2,y2,r.),axis(0,pi,-1,1),title(子圖 (2)subplot(2,2,3),plot(t1,y1,t1,y1,r.)axis(0,pi,-1,1),title(子圖 (3)subplot(2,2,4),plot(t2,y2)axis(0,pi,-1,1),title(子圖 (4)二編程實(shí)現(xiàn)。1用圖形表示連續(xù)調(diào)制波形y = sin(t)sin(9t) ,過(guò)零點(diǎn)及其包絡(luò)線,如下圖所示。2 勵(lì)條件下二階系統(tǒng)歸一化響應(yīng)可表現(xiàn)為,其中為阻尼系數(shù), , 。請(qǐng)用不同的顏色或線型,在同一張圖上,繪制= 0.2 : 0.2 : 2.0取值下系統(tǒng)在t0,18 區(qū)間內(nèi)的響應(yīng)曲線,并要求用= 0.2和=2.0對(duì)它們相應(yīng)的兩條曲線進(jìn)行醒目的文字標(biāo)志。3 編寫(xiě)函數(shù)x,n=stepseq(n0,n1,n2),實(shí)現(xiàn): n為整數(shù)并編寫(xiě)腳本文件實(shí)現(xiàn):x(n) = nu(n) u(n 10) +10e-0.3(n-10) u(n 10) u(n 20), 0 n 20要求在腳本文件中調(diào)用stepseq 函數(shù),最后繪出序列x(n) 在給定區(qū)間的波形圖。4 編寫(xiě)一個(gè)函數(shù)文件 y,n=sigadd(x1,n1,x2,n2),實(shí)現(xiàn)兩個(gè)對(duì)應(yīng)樣本之間的相加,其中x1 是長(zhǎng)度為n1 的序列,x2 是長(zhǎng)度為n2 的序列,n1、n2 分別是x1、x2 的位置信息(n1、n2 均為整數(shù)),如:n1= -3,-2,-1,0,1,2,3,4,對(duì)應(yīng)的x1= 2, 3, 1,4,1,3,1,2;n2=-4,-3,-2,-1,0,1,2,對(duì)應(yīng)的x2= 1, 3, 2, 5,1,3,4。當(dāng)調(diào)用函數(shù)y,n=sigadd(x1,n1,x2,n2)時(shí),我們應(yīng)該得到:n=-4,-3,-2,-1,0,1,2,3,4,對(duì)應(yīng)的y= 1, 5, 5, 6,5,4,7,1,2。仔細(xì)觀察sigadd 函數(shù)的功能。編好函數(shù)文件程序后,請(qǐng)?jiān)诿畲翱谡{(diào)用,驗(yàn)證正確性,記錄驗(yàn)證結(jié)果。實(shí)驗(yàn)五 簡(jiǎn)單數(shù)據(jù)分析實(shí)驗(yàn)?zāi)康?初步掌握利用MATLAB 實(shí)現(xiàn)數(shù)據(jù)的擬合、插值、簡(jiǎn)單數(shù)據(jù)分析等。實(shí)驗(yàn)原理數(shù)值計(jì)算能力是MATLAB 稱雄世界的根本柱石。MATLAB 內(nèi)建了很多函數(shù)可以求解線性方程、特征值問(wèn)題以及有關(guān)多項(xiàng)式和卷積、數(shù)據(jù)分析、泛函、信號(hào)處理、系統(tǒng)分析等方面的指令。結(jié)合目前的學(xué)習(xí)進(jìn)度,本課程內(nèi)只簡(jiǎn)單討論數(shù)據(jù)的擬合、插值、簡(jiǎn)單數(shù)據(jù)分析及在實(shí)驗(yàn)中討論函數(shù)的零極點(diǎn)求法等內(nèi)容,對(duì)其他內(nèi)容有興趣的可參看參考書(shū)籍。MATLAB 提供了擬合和插值的相關(guān)函數(shù)。曲線擬合是研究如何尋找“平滑”曲線最好地表現(xiàn)帶噪聲的“測(cè)量數(shù)據(jù)”點(diǎn)。而插值是在認(rèn)定所給“基準(zhǔn)數(shù)據(jù)”完全正確的情況下,研究如何“平滑”地估算出“基準(zhǔn)數(shù)據(jù)”之間其他點(diǎn)的函數(shù)值。因此插值所得曲線一定穿過(guò)“基準(zhǔn)數(shù)據(jù)”。而擬合曲線就不一定了。另外,擬合多項(xiàng)式只能在給定數(shù)據(jù)所限定的區(qū)間內(nèi)使用,不要任意向往拓展。而每當(dāng)基準(zhǔn)數(shù)據(jù)之間其他點(diǎn)上函數(shù)值沒(méi)法獲得,或獲得的代價(jià)很好時(shí),插值就發(fā)揮作用。插值指令很多,有interp1,interp2,interp3 等。采用的插值算法也很多,如線形插值、三次多項(xiàng)式插值算法、樣條插值等。對(duì)于多項(xiàng)式擬合有polyfit、poly2str、polyval 等函數(shù),具體請(qǐng)參看幫助和范例。MATLAB 內(nèi)建了很多數(shù)據(jù)分析函數(shù),比如常用的隨機(jī)數(shù)發(fā)生器函數(shù)rand,randn;統(tǒng)計(jì)分析指令有:min求最小值,max求最大值,mediam求中值,mean求平均值,std求標(biāo)準(zhǔn)差,sort排序指令等。;差分和累計(jì)函數(shù)diff、prod、sum 等。另外MATLAB還提供了很多泛函指令、信號(hào)處理專(zhuān)業(yè)工具包、系統(tǒng)分析中的控制工具包以及諸如微分、求導(dǎo)等符號(hào)運(yùn)算功能等等,有需要的可參看幫助及相關(guān)書(shū)籍。實(shí)驗(yàn)內(nèi)容一 數(shù)據(jù)擬合及插值1下面是對(duì)給定數(shù)據(jù)點(diǎn)(x0,y0)進(jìn)行多項(xiàng)式三階擬合的例子,仿照運(yùn)行,掌握數(shù)據(jù)擬合的一般方法。% 首先給定數(shù)據(jù)對(duì)x0=0:0.1:1;y0=-.447,1.978,3.11,5.25,5.02,4.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《高等數(shù)學(xué)》上冊(cè)課件14-05拉普拉斯變換的應(yīng)用舉例
- 《婚姻家庭繼承法第六版》課件婚姻家庭法第六章
- 2025年國(guó)際商業(yè)交易與法律政策考試試題及答案
- 2025年中小企業(yè)融資與投資管理測(cè)試試卷及答案
- 采購(gòu)崗位培訓(xùn)
- 為銷(xiāo)售提供產(chǎn)品培訓(xùn)
- 2025年金融技術(shù)與區(qū)塊鏈考試試題及答案
- 外科手術(shù)部位感染預(yù)防與控制措施
- IgA腎病病人的護(hù)理
- 2025年法律實(shí)務(wù)與律師職業(yè)培訓(xùn)考試試題及答案
- 電子商務(wù)數(shù)據(jù)分析題庫(kù)與參考答案
- 工程拆墻合同范本
- 2024夏季東南亞風(fēng)情水上樂(lè)園潑水電音節(jié)開(kāi)幕式活動(dòng)方案-52P
- 模擬聯(lián)合國(guó)大會(huì)流程及議題講義模板
- 呼倫貝爾職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題2024
- TCHALPA 0004-2023 民用無(wú)人機(jī)應(yīng)急救援應(yīng)用專(zhuān)業(yè)操控員合格證考試點(diǎn)管理辦法
- 無(wú)損檢測(cè)PTⅡ級(jí)滲透檢測(cè)理論考試題庫(kù)
- 《安全儀表系統(tǒng)SIS》課件
- 《項(xiàng)目管理WBS分解》課件
- 萬(wàn)科物業(yè)新員工入職考試卷附答案
- 極化曲線研究論文
評(píng)論
0/150
提交評(píng)論