第一講___概述及Matlab語言的基本使用方法_第1頁
第一講___概述及Matlab語言的基本使用方法_第2頁
第一講___概述及Matlab語言的基本使用方法_第3頁
第一講___概述及Matlab語言的基本使用方法_第4頁
第一講___概述及Matlab語言的基本使用方法_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一講第一講 概述及概述及Matlab語言的基本語言的基本使用方法使用方法1.課程簡(jiǎn)介課程簡(jiǎn)介v 系統(tǒng)仿真系統(tǒng)仿真(Simulation)技術(shù)技術(shù)v 電子通信系統(tǒng)的計(jì)算機(jī)仿真電子通信系統(tǒng)的計(jì)算機(jī)仿真v 電子通信系統(tǒng)中的物理模型電子通信系統(tǒng)中的物理模型v 電子通信系統(tǒng)中的數(shù)學(xué)模型電子通信系統(tǒng)中的數(shù)學(xué)模型 1.1電子與通信系統(tǒng)仿真的概念電子與通信系統(tǒng)仿真的概念1.2 1.2 計(jì)算機(jī)仿真的步驟計(jì)算機(jī)仿真的步驟1 1)仿真問題的提出)仿真問題的提出 建立系統(tǒng)仿真的第一步,必須清楚準(zhǔn)確地提出仿建立系統(tǒng)仿真的第一步,必須清楚準(zhǔn)確地提出仿真實(shí)驗(yàn)所要解決的問題。真實(shí)驗(yàn)所要解決的問題。2 2)仿真系統(tǒng)分析)仿真

2、系統(tǒng)分析 明確系統(tǒng)中的模塊、系統(tǒng)構(gòu)成、模塊之間的相互明確系統(tǒng)中的模塊、系統(tǒng)構(gòu)成、模塊之間的相互關(guān)系,系統(tǒng)的輸入輸出、邊界及約束條件,確定仿真關(guān)系,系統(tǒng)的輸入輸出、邊界及約束條件,確定仿真所要達(dá)到的目標(biāo)。所要達(dá)到的目標(biāo)。3 3)建立系統(tǒng)的數(shù)學(xué)模型)建立系統(tǒng)的數(shù)學(xué)模型 根據(jù)仿真系統(tǒng)分析的結(jié)果,確定系統(tǒng)中的參數(shù)、根據(jù)仿真系統(tǒng)分析的結(jié)果,確定系統(tǒng)中的參數(shù)、變量及相互之間的關(guān)系,并以數(shù)學(xué)形式將這些關(guān)系描變量及相互之間的關(guān)系,并以數(shù)學(xué)形式將這些關(guān)系描述出來,構(gòu)成仿真系統(tǒng)的數(shù)學(xué)模型。述出來,構(gòu)成仿真系統(tǒng)的數(shù)學(xué)模型。4 4)數(shù)據(jù)收集)數(shù)據(jù)收集 根據(jù)數(shù)學(xué)模型所需要的數(shù)據(jù)元素,收集與模型系根據(jù)數(shù)學(xué)模型所需要的數(shù)據(jù)

3、元素,收集與模型系統(tǒng)有關(guān)的數(shù)據(jù)。統(tǒng)有關(guān)的數(shù)據(jù)。 如:對(duì)一個(gè)放大器建模后,就需要取得晶體管等如:對(duì)一個(gè)放大器建模后,就需要取得晶體管等各元器件的物理參數(shù)。各元器件的物理參數(shù)。5 5)根據(jù)數(shù)學(xué)模型建立系統(tǒng)的計(jì)算機(jī)仿真模型)根據(jù)數(shù)學(xué)模型建立系統(tǒng)的計(jì)算機(jī)仿真模型 數(shù)學(xué)模型的計(jì)算機(jī)實(shí)現(xiàn)。數(shù)學(xué)模型的計(jì)算機(jī)實(shí)現(xiàn)。 MATLAB/Simulink提供了三種方法:提供了三種方法:M文件編程實(shí)文件編程實(shí)現(xiàn);現(xiàn);Simulink方法;方法; Simulink結(jié)合結(jié)合M文件編程方法。文件編程方法。6 6)仿真模型驗(yàn)證)仿真模型驗(yàn)證 目的:確定計(jì)算機(jī)仿真模型是否準(zhǔn)確表達(dá)了數(shù)學(xué)模目的:確定計(jì)算機(jī)仿真模型是否準(zhǔn)確表達(dá)了數(shù)學(xué)

4、模型。型。 驗(yàn)證方法:將數(shù)學(xué)模型的理論結(jié)果與仿真所得到的驗(yàn)證方法:將數(shù)學(xué)模型的理論結(jié)果與仿真所得到的數(shù)值結(jié)果進(jìn)行對(duì)比來完成。數(shù)值結(jié)果進(jìn)行對(duì)比來完成。7 7)仿真模型的確認(rèn))仿真模型的確認(rèn) 確定仿真模型是否按照設(shè)計(jì)所要求的精度代表實(shí)際確定仿真模型是否按照設(shè)計(jì)所要求的精度代表實(shí)際系統(tǒng),即仿真模型是否合理。系統(tǒng),即仿真模型是否合理。 如:工程實(shí)踐中,在仿真實(shí)驗(yàn)得出相關(guān)結(jié)果后,還如:工程實(shí)踐中,在仿真實(shí)驗(yàn)得出相關(guān)結(jié)果后,還要進(jìn)行現(xiàn)場(chǎng)勘查,對(duì)仿真模型進(jìn)行分析和評(píng)估。要進(jìn)行現(xiàn)場(chǎng)勘查,對(duì)仿真模型進(jìn)行分析和評(píng)估。8 8)仿真實(shí)驗(yàn)設(shè)計(jì))仿真實(shí)驗(yàn)設(shè)計(jì) 確定仿真實(shí)驗(yàn)方案,包括:系統(tǒng)激勵(lì)信號(hào)的設(shè)計(jì),確定仿真實(shí)驗(yàn)方案,

5、包括:系統(tǒng)激勵(lì)信號(hào)的設(shè)計(jì),系統(tǒng)仿真時(shí)間設(shè)計(jì),仿真運(yùn)行次數(shù)設(shè)計(jì)等其它參數(shù)設(shè)系統(tǒng)仿真時(shí)間設(shè)計(jì),仿真運(yùn)行次數(shù)設(shè)計(jì)等其它參數(shù)設(shè)計(jì)。計(jì)。9 9)計(jì)算機(jī)仿真模型的運(yùn)行)計(jì)算機(jī)仿真模型的運(yùn)行1010)計(jì)算機(jī)仿真結(jié)果分析)計(jì)算機(jī)仿真結(jié)果分析 MATLAB/Simulink提供了方便的數(shù)據(jù)分析函數(shù)提供了方便的數(shù)據(jù)分析函數(shù)和顯示工具:作圖、示波器、頻譜分析儀、各種統(tǒng)計(jì)和顯示工具:作圖、示波器、頻譜分析儀、各種統(tǒng)計(jì)分析函數(shù)。分析函數(shù)。1.3本課程的主要內(nèi)容本課程的主要內(nèi)容v 第一講第一講 概述及概述及MatlabMatlab語言的基本使用方法語言的基本使用方法v 第二講第二講 MatlabMatlab的數(shù)值運(yùn)算的數(shù)

6、值運(yùn)算v 第三講第三講 MatlabMatlab的符號(hào)計(jì)算的符號(hào)計(jì)算v 第四講第四講 MatlabMatlab繪圖繪圖v 第五講第五講 MatlabMatlab程序設(shè)計(jì)程序設(shè)計(jì)v 第六講第六講 MatlabMatlab的仿真測(cè)量?jī)x器的仿真測(cè)量?jī)x器v 第七講第七講 信號(hào)處理信號(hào)處理v 第八講第八講 數(shù)字通信系統(tǒng)的仿真數(shù)字通信系統(tǒng)的仿真v 實(shí)驗(yàn)一實(shí)驗(yàn)一 矩陣及符號(hào)運(yùn)算實(shí)驗(yàn)矩陣及符號(hào)運(yùn)算實(shí)驗(yàn) v 實(shí)驗(yàn)二實(shí)驗(yàn)二 電子線路仿真實(shí)驗(yàn)電子線路仿真實(shí)驗(yàn) v 實(shí)驗(yàn)三實(shí)驗(yàn)三 數(shù)字通信系統(tǒng)仿真實(shí)驗(yàn)數(shù)字通信系統(tǒng)仿真實(shí)驗(yàn) 本課程共24課時(shí),其中理論教學(xué)18課時(shí),上機(jī)實(shí)驗(yàn)6課時(shí),具體安排如下:系統(tǒng)仿真技術(shù)系統(tǒng)仿真技術(shù)v

7、利用計(jì)算機(jī)和仿真軟件進(jìn)行仿真的計(jì)算機(jī)仿真技術(shù),也稱系統(tǒng)模擬技術(shù)。本書是以Matlab/Simulink 為仿真語言進(jìn)行系統(tǒng)仿真實(shí)驗(yàn)的。 電子通信系統(tǒng)計(jì)算機(jī)仿真電子通信系統(tǒng)計(jì)算機(jī)仿真v 利用計(jì)算機(jī)對(duì)實(shí)際電子通信系統(tǒng)的物理或數(shù)學(xué)模型進(jìn)行實(shí)驗(yàn),對(duì)實(shí)際系統(tǒng)的性能和工作狀態(tài)進(jìn)行分析研究。RETURNv 利用電源、電阻、電容、電感和晶體管等電子器件所搭建的電子線路。RETURNv 通過抽象的數(shù)學(xué)方程來描述系統(tǒng)內(nèi)部物理變量之間的關(guān)系,從而建立的模型。2 MATLAB仿真仿真2.1 MATLAB的介紹的介紹v MATLAB由由Math Works公司開發(fā)的一種跨平臺(tái)公司開發(fā)的一種跨平臺(tái)的,用于的,用于矩陣數(shù)值

8、計(jì)算矩陣數(shù)值計(jì)算的數(shù)學(xué)語言,的數(shù)學(xué)語言,取名取名MATLAB即即Matrix Laboratory 矩陣實(shí)驗(yàn)室的意思。矩陣實(shí)驗(yàn)室的意思。2.1.1 MATLAB的特點(diǎn)的特點(diǎn) MATLAB是一種跨平臺(tái)的數(shù)學(xué)語言。是一種跨平臺(tái)的數(shù)學(xué)語言。 是一種超高級(jí)語言,是進(jìn)行科學(xué)研究和數(shù)值計(jì)算的首選語言。是一種超高級(jí)語言,是進(jìn)行科學(xué)研究和數(shù)值計(jì)算的首選語言。 MATLAB語法簡(jiǎn)單,編程風(fēng)格接近數(shù)學(xué)語言描述,是數(shù)學(xué)運(yùn)算語法簡(jiǎn)單,編程風(fēng)格接近數(shù)學(xué)語言描述,是數(shù)學(xué)運(yùn)算開發(fā)和驗(yàn)證的最佳工具。開發(fā)和驗(yàn)證的最佳工具。 MATLAB計(jì)算精度很高,矩陣運(yùn)算精度高達(dá)計(jì)算精度很高,矩陣運(yùn)算精度高達(dá)1015以上。以上。 MATLA

9、B具有強(qiáng)大的繪圖功能。具有強(qiáng)大的繪圖功能。 MATLAB具有串口操作、聲音輸入輸出等硬件操控能力。具有串口操作、聲音輸入輸出等硬件操控能力。 MATLAB程序可直接映射為程序可直接映射為DSP芯片可接受的代碼。芯片可接受的代碼。v 與其它高級(jí)語言相比,與其它高級(jí)語言相比,MATLAB具有獨(dú)特的優(yōu)勢(shì)具有獨(dú)特的優(yōu)勢(shì)2.1.2 MATLAB快速入門快速入門 1. MATLAB的啟動(dòng)和退出的啟動(dòng)和退出v啟動(dòng):?jiǎn)?dòng): “開始開始/程序程序”菜單中找到菜單中找到MATLAB圖標(biāo),單擊進(jìn)圖標(biāo),單擊進(jìn)入入MATLAB環(huán)境。環(huán)境。 用鼠標(biāo)雙擊桌面上用鼠標(biāo)雙擊桌面上matlab圖標(biāo),即可打開圖標(biāo),即可打開matl

10、ab命令平臺(tái)命令平臺(tái) 啟動(dòng)啟動(dòng)MATLAB后,將進(jìn)后,將進(jìn)入入MATLAB 6.5集成環(huán)境。集成環(huán)境。 MATLAB 6.5集成環(huán)境包集成環(huán)境包括括MATLAB主窗口主窗口、命令窗命令窗口口(Command Window)、工工作空間窗口作空間窗口(Workspace)、命命令歷史窗口令歷史窗口(Command History)、當(dāng)前目錄窗口當(dāng)前目錄窗口(Current Directory)和和啟動(dòng)平啟動(dòng)平臺(tái)窗口臺(tái)窗口(Launch Pad)。MATLABMATLAB主窗口是主窗口是MATLABMATLAB的主的主要工作界面。要工作界面。主窗口除了嵌主窗口除了嵌入一些子窗口外,還主要包入一些子

11、窗口外,還主要包括菜單欄和工具欄。括菜單欄和工具欄。命令窗口是命令窗口是MATLABMATLAB的主要的主要交互窗口,用于輸入命令交互窗口,用于輸入命令并顯示除圖形以外的所有并顯示除圖形以外的所有執(zhí)行結(jié)果。執(zhí)行結(jié)果。工作空間是工作空間是MATLABMATLAB用于存儲(chǔ)用于存儲(chǔ)各種變量和結(jié)果的內(nèi)存空間。各種變量和結(jié)果的內(nèi)存空間。在該窗口中顯示工作空間中在該窗口中顯示工作空間中所有所有變量的名稱變量的名稱、大小大小、字字節(jié)數(shù)和變量類型節(jié)數(shù)和變量類型說明,可對(duì)說明,可對(duì)變量進(jìn)行觀察、編輯、保存變量進(jìn)行觀察、編輯、保存和刪除。和刪除。 在默認(rèn)設(shè)置下,歷史記錄在默認(rèn)設(shè)置下,歷史記錄窗口中會(huì)自動(dòng)保留自安裝

12、窗口中會(huì)自動(dòng)保留自安裝起所有用過的命令的歷史起所有用過的命令的歷史記錄,并且還標(biāo)明了使用記錄,并且還標(biāo)明了使用時(shí)間,從而方便用戶查詢。時(shí)間,從而方便用戶查詢??蛇M(jìn)行當(dāng)前目錄的設(shè)置;顯示可進(jìn)行當(dāng)前目錄的設(shè)置;顯示相應(yīng)目錄上的相應(yīng)目錄上的m、mdl文件;文件;復(fù)制和編輯、運(yùn)行復(fù)制和編輯、運(yùn)行m文件,裝文件,裝載載mat數(shù)據(jù)文件。數(shù)據(jù)文件。啟動(dòng)平臺(tái)窗口(啟動(dòng)平臺(tái)窗口( Launch Pad )和)和Start按鈕按鈕 MATLAB 6.5的的啟動(dòng)平臺(tái)窗口啟動(dòng)平臺(tái)窗口可以幫助用戶方便地可以幫助用戶方便地打開和調(diào)用打開和調(diào)用MATLAB的各種程序、函數(shù)和幫助文件。的各種程序、函數(shù)和幫助文件。 MATLA

13、B 6.5主窗口左下角還有一個(gè)主窗口左下角還有一個(gè)Start按鈕,單按鈕,單擊該按鈕會(huì)彈出一個(gè)菜單,選擇其中的命令可以執(zhí)行擊該按鈕會(huì)彈出一個(gè)菜單,選擇其中的命令可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱產(chǎn)品的各種工具,并且可以查閱MATLAB包包含的各種資源。含的各種資源。v退出:退出: 在在MATLAB命令窗口鍵入命令命令窗口鍵入命令“quit”或或“exit”,回車,回車,即可退出即可退出 MATLAB環(huán)境。環(huán)境。 2. MATLAB中如何獲取幫助中如何獲取幫助 help 功能提供功能提供matlab大部分主題的大部分主題的在線幫助在線幫助信息信息q help help 顯示如何使用

14、顯示如何使用help 的幫助信息的幫助信息q help 顯示顯示help 主題分類列表主題分類列表q help topic 顯示具體主題下的顯示具體主題下的函數(shù)名函數(shù)名(FunName)列表列表q help FunName 獲得具體函數(shù)的用法說明獲得具體函數(shù)的用法說明 v “純文本純文本”幫助幫助雖然雖然help可以隨時(shí)提供幫助,但必須知道準(zhǔn)確的函數(shù)名可以隨時(shí)提供幫助,但必須知道準(zhǔn)確的函數(shù)名稱。當(dāng)不能確定函數(shù)名稱時(shí),稱。當(dāng)不能確定函數(shù)名稱時(shí),help就無能為力了。就無能為力了。例:例: Lookfor可提供通過一般的關(guān)鍵詞,搜索出一組與之相關(guān)的命令可提供通過一般的關(guān)鍵詞,搜索出一組與之相關(guān)的命

15、令例例:lookfor fourier :尋找含有傅立葉變換的相關(guān)指令:尋找含有傅立葉變換的相關(guān)指令help、lookfor 兩個(gè)指令兩個(gè)指令構(gòu)成了構(gòu)成了matlab語言相當(dāng)語言相當(dāng)完善的在線幫助系統(tǒng)。完善的在線幫助系統(tǒng)。v 演示幫助演示幫助運(yùn)行運(yùn)行演示程序演示程序的兩種方法:的兩種方法: 在在MATLAB指令窗運(yùn)行指令窗運(yùn)行“demo”。 在交互界面分類目錄窗在交互界面分類目錄窗(Lauch Pad)中,用鼠標(biāo)中,用鼠標(biāo)雙擊雙擊Demos圖標(biāo)。圖標(biāo)。 3. 在在MATLAB命令窗口中計(jì)算數(shù)學(xué)表達(dá)式命令窗口中計(jì)算數(shù)學(xué)表達(dá)式例:計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。例:計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。

16、在在MATLAB命令窗口輸入命令:命令窗口輸入命令: x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y) 其中其中pipi和和i i都是都是MATLABMATLAB預(yù)先定義的變量預(yù)先定義的變量,分別代表圓周,分別代表圓周率率和虛數(shù)單位。和虛數(shù)單位。 輸出結(jié)果是:輸出結(jié)果是: z = -0.3488 + 0.3286ivpi 圓周率圓周率;vans 是表達(dá)式計(jì)算結(jié)果的默認(rèn)存儲(chǔ)變量。是表達(dá)式計(jì)算結(jié)果的默認(rèn)存儲(chǔ)變量。vinf 表示正無窮大表示正無窮大+vNaN 非數(shù),例如非數(shù),例如0/0將得到非數(shù)將得到非數(shù)vi或或j 虛數(shù)單位

17、虛數(shù)單位veps 從從1.0到下一個(gè)最大浮點(diǎn)數(shù)的距離到下一個(gè)最大浮點(diǎn)數(shù)的距離, 常用來作為浮點(diǎn)計(jì)算相對(duì)誤差使用常用來作為浮點(diǎn)計(jì)算相對(duì)誤差使用vrealmin MATLAB 所能表示的最小正實(shí)數(shù)所能表示的最小正實(shí)數(shù)vrealmax MATLAB 所能表示的最大正實(shí)數(shù)所能表示的最大正實(shí)數(shù)v數(shù)量除法(左除),矩陣左除v./數(shù)組除法v矩陣乘方v.數(shù)組乘方v矩陣的共軛轉(zhuǎn)置,對(duì)于一個(gè)復(fù)數(shù)而言將得到其共軛復(fù)數(shù)v.矩陣轉(zhuǎn)置(不共軛)v關(guān)于這些算術(shù)運(yùn)算符的詳細(xì)用法以及示例,可以用 vdocarithmeticoperators回車v打開html格式的幫助文檔查看。 vMATLAB中常用的算術(shù)運(yùn)算符有中常用的算術(shù)

18、運(yùn)算符有+、-、*、/、等,含義如下:等,含義如下:v+ 數(shù)量加法數(shù)量加法,矩陣加法矩陣加法v- 數(shù)量減法數(shù)量減法,矩陣減法矩陣減法v* 數(shù)量乘法數(shù)量乘法,矩陣乘法矩陣乘法v.* 數(shù)組乘法數(shù)組乘法v/ 數(shù)量除法數(shù)量除法,矩陣右除矩陣右除 4. 在在MATLAB命令窗口中輸入簡(jiǎn)單矩陣命令窗口中輸入簡(jiǎn)單矩陣?yán)? : 輸入一輸入一3x33x3矩陣。矩陣。 a=1 2 3;4 5 6;7 8 9 當(dāng)按下當(dāng)按下EnterEnter鍵時(shí)鍵時(shí), ,顯示如下結(jié)果顯示如下結(jié)果 a= 1 2 3 4 5 6 7 8 9注意:注意: 1)“” 為命令提示符;為命令提示符;2)變量要區(qū)分大小寫,所有命令)變量要區(qū)分

19、大小寫,所有命令和函數(shù)名都必須用小寫。和函數(shù)名都必須用小寫。 5. MATLAB的語句和變量的語句和變量MATLAB采用表達(dá)式語言,其語句有兩種形式:采用表達(dá)式語言,其語句有兩種形式:(1 1)表達(dá)式;)表達(dá)式;(2 2)變量名表達(dá)式。)變量名表達(dá)式。 其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,與的式子,與“手寫算式手寫算式”基本相同,其結(jié)果是一個(gè)基本相同,其結(jié)果是一個(gè)矩陣。矩陣。Note:一個(gè)命令行也可以輸入若干條命令,各命令一個(gè)命令行也可以輸入若干條命令,各命令之間可以逗號(hào)或分號(hào)分隔,以分號(hào)隔開,計(jì)算結(jié)果之間可以逗號(hào)或分號(hào)分隔,以分號(hào)隔開,計(jì)算

20、結(jié)果不顯示在屏幕上,否則回車后將顯示計(jì)算結(jié)果。不顯示在屏幕上,否則回車后將顯示計(jì)算結(jié)果。v例例v s=1:100;sum(s),p=prod(s) v當(dāng)按下當(dāng)按下EnterEnter鍵時(shí)鍵時(shí), ,顯示如下結(jié)果顯示如下結(jié)果vans=v5050vp=v9.3326e+157 6. 繪制簡(jiǎn)單的函數(shù)曲線繪制簡(jiǎn)單的函數(shù)曲線MATLABMATLAB提供了極為便利的數(shù)據(jù)可視化手段,可以作提供了極為便利的數(shù)據(jù)可視化手段,可以作出任意函數(shù)的圖像。出任意函數(shù)的圖像。例子:作出函數(shù)例子:作出函數(shù)y=e-x/10sinxy=e-x/10sinx在在xx-1,10-1,10范圍范圍的圖像。的圖像。 x=-1:0.1:2

21、0;x=-1:0.1:20;% %定義定義x x的范圍和步進(jìn)回車的范圍和步進(jìn)回車y=exp(-x./10).y=exp(-x./10).* *sin(xsin(x);%);%計(jì)算函計(jì)算函數(shù)值回車數(shù)值回車plot(x,y);gridplot(x,y);grid;%;%Note:在程序語句中在程序語句中,以百分號(hào)以百分號(hào)“%”開始的是注釋開始的是注釋部分。關(guān)于部分。關(guān)于“plot”的詳細(xì)用法和例子可以用的詳細(xì)用法和例子可以用“docplot”命令查看幫助文檔。命令查看幫助文檔。 。函數(shù)y=e-x/10sinx在x-1,10范圍的圖像 7.編寫簡(jiǎn)單的編寫簡(jiǎn)單的MATLAB程序程序 MATLAB MA

22、TLAB提供了擴(kuò)展名為提供了擴(kuò)展名為“.m”.m”的文本文件,在文件中事的文本文件,在文件中事先寫入一行行的先寫入一行行的MATLABMATLAB命令,存盤后從命令,存盤后從MATLABMATLAB的命令窗口調(diào)的命令窗口調(diào)入執(zhí)行(類似于入執(zhí)行(類似于DOSDOS下的批處理),這種文件稱為底稿文件或下的批處理),這種文件稱為底稿文件或MATLABMATLAB腳本文件。腳本文件。vM M文件有兩種形式,一種是腳本文件,另一種是函數(shù)文件。文件有兩種形式,一種是腳本文件,另一種是函數(shù)文件。M M文件文件的擴(kuò)展名為的擴(kuò)展名為“.m”.m”。M M文件可以通過任何純文本編輯器進(jìn)行編輯,文件可以通過任何純文

23、本編輯器進(jìn)行編輯,MATLABMATLAB中也有自帶的文本編輯器,使用中也有自帶的文本編輯器,使用“edit”edit”命令即可開啟。命令即可開啟。 2.1.3 MATLAB程序設(shè)計(jì)程序設(shè)計(jì)1. M文件簡(jiǎn)介文件簡(jiǎn)介2.程序控制流語句程序控制流語句 在在MATLAB中有三種基本的程序結(jié)構(gòu):順序結(jié)構(gòu)、中有三種基本的程序結(jié)構(gòu):順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)以及分支結(jié)構(gòu)。但由于但由于MATLAB語言矩陣計(jì)算語言矩陣計(jì)算功能十分強(qiáng)大,常常僅使用功能十分強(qiáng)大,常常僅使用順序結(jié)構(gòu)借以矩陣的邏輯運(yùn)順序結(jié)構(gòu)借以矩陣的邏輯運(yùn)算算就可以完成計(jì)算任務(wù)。就可以完成計(jì)算任務(wù)。v順序結(jié)構(gòu)是順序結(jié)構(gòu)是MATLAB中最

24、常用的程序結(jié)構(gòu),也是執(zhí)行效率中最常用的程序結(jié)構(gòu),也是執(zhí)行效率最高的程序結(jié)構(gòu)。順序結(jié)構(gòu)的語句是按照書寫的前后順序來最高的程序結(jié)構(gòu)。順序結(jié)構(gòu)的語句是按照書寫的前后順序來執(zhí)行的。執(zhí)行的。vMATLAB用于循環(huán)結(jié)構(gòu)的語句有兩種:用于循環(huán)結(jié)構(gòu)的語句有兩種:“forend”循環(huán)和循環(huán)和“whileend”循環(huán)。循環(huán)。1).順序結(jié)構(gòu)順序結(jié)構(gòu)v1)forend語句語句vv“forend”語句適用于循環(huán)次數(shù)確定的情況,將循環(huán)變量的初值、判別語句適用于循環(huán)次數(shù)確定的情況,將循環(huán)變量的初值、判別和變化放在循環(huán)開頭。和變化放在循環(huán)開頭。v“forend”語句的調(diào)用形式是:語句的調(diào)用形式是:vfor v=表達(dá)式表達(dá)式v

25、語句語句1;vv語句語句n;vend v例如,最簡(jiǎn)單的例如,最簡(jiǎn)單的forend循循環(huán):環(huán):vfor k=1:10vx (k)=k.2;vend v采用矩陣思想也可以獲得相同的結(jié)果,但編程更加簡(jiǎn)采用矩陣思想也可以獲得相同的結(jié)果,但編程更加簡(jiǎn)單明了:?jiǎn)蚊髁耍簐vk=1:10;x=k.2vx=v149162536496481100vNote:絕大部分循環(huán)都可以遵從這樣的方法變成向絕大部分循環(huán)都可以遵從這樣的方法變成向量化量化(矩陣化矩陣化)的算法,避免采用循環(huán)語句,從而大的算法,避免采用循環(huán)語句,從而大大提高程序的執(zhí)行效率。大提高程序的執(zhí)行效率。 v2)whileend語句v對(duì)于循環(huán)次數(shù)不能預(yù)先確

26、定,而是由某個(gè)邏輯條件來控制循環(huán)次數(shù)的情況,MATLAB提供了“whileend”來實(shí)現(xiàn)。和“forend”語句類似,“whileend”語句也允許嵌套。v“whileend”語句的一般形式是:v whilev=表達(dá)式v語句1;vv語句n;vend v例如,求當(dāng)整數(shù)n的階乘值是一個(gè)50位數(shù)的第一個(gè)數(shù)時(shí),n為多少?(程序jiechen50.m)v n=1;%n的初值vwhileprod(1:n)1e50,break;end%滿足條件,則跳出循環(huán)vendvn%顯示結(jié)果vn=v42 v“switch”語句來實(shí)現(xiàn)多重分支結(jié)構(gòu)。其用法是: vswitch開關(guān)表達(dá)式vcase表達(dá)式1v語句,語句vcase

27、表達(dá)式1,表達(dá)式2,表達(dá)式3,v語句,語句vvotherwisev語句,語句vend v3.數(shù)據(jù)和文件的輸入輸出v1)“input”指令v“input”指令提示用戶從鍵盤輸入數(shù)據(jù)、字符串或表達(dá)式,并接受該輸入。“input”指令的調(diào)用格式有兩種:v user-entry=input(prompt)%輸入數(shù)據(jù)或表達(dá)式vuser-entry=input(prompt,s)%輸入字符串v例如:va=input(請(qǐng)輸入矩陣或表達(dá)式,賦值到a:)DW%輸入數(shù)據(jù)的例子v請(qǐng)輸入矩陣或表達(dá)式,賦值到a:12;34va=v12v34 va=input(請(qǐng)輸入矩陣或表達(dá)式,賦值到a:)DW%輸入表達(dá)式的例子v請(qǐng)

28、輸 入 矩 陣 或 表 達(dá) 式 , 賦 值 到a:sin(1)+8va=v8.8415v s = i n p u t ( 請(qǐng) 輸 入 一 個(gè) 字 符串:,s)DW%輸入字符串的例子v請(qǐng)輸入一個(gè)字符串:thisisastringvs=vthisisastring v2)“pause”指令v“pause”指令可以使程序暫停運(yùn)行,等待用戶按任意鍵繼續(xù)?!皃ause”指令主要用于程序調(diào)試或顯示中間結(jié)果。“pause(n)”指令使得程序暫停執(zhí)行n秒。 v3)利用文件輸入輸出數(shù)據(jù)v指令“save”和“l(fā)oad”用于MATLAB與磁盤的數(shù)據(jù)交換?!皊ave”指令將MATLAB工作空間的數(shù)據(jù)存入磁盤;“l(fā)oa

29、d”指令則將數(shù)據(jù)從磁盤送入到MATLAB工作空間。舉例說明如下:vclear;vA=1,2;3,4;vb=81;vsave(c:mymatlabdat.mat,A,b);%將變量A和b保存在文件C:mymatlabdat.m 3 Simulink介紹介紹 Simulink是是Matlab軟件的擴(kuò)展,是一個(gè)結(jié)合了框圖軟件的擴(kuò)展,是一個(gè)結(jié)合了框圖界面和交互仿真功能的動(dòng)態(tài)系統(tǒng)建模和仿真軟件包。其界面和交互仿真功能的動(dòng)態(tài)系統(tǒng)建模和仿真軟件包。其中包含了許多功能模塊,用戶只需要知道這些模塊的輸中包含了許多功能模塊,用戶只需要知道這些模塊的輸入輸出及模塊的功能,將它們連接起來就可以構(gòu)成所需入輸出及模塊的功

30、能,將它們連接起來就可以構(gòu)成所需要的系統(tǒng)模型(以要的系統(tǒng)模型(以.mdl文件進(jìn)行存?。?,進(jìn)而進(jìn)行仿真文件進(jìn)行存取),進(jìn)而進(jìn)行仿真與分析。與分析。 Simulink的窗口環(huán)境的窗口環(huán)境 在命令窗口中輸入命令:在命令窗口中輸入命令: simulink1. 啟動(dòng)啟動(dòng)Simulink 在在MATLAB命令命令窗口的工具欄窗口的工具欄中中 單擊圖標(biāo):?jiǎn)螕魣D標(biāo):Simulink模塊庫瀏覽器模塊庫瀏覽器(Simulink Library Browser)窗窗口。口。2. Simulink模塊庫瀏覽器模塊庫瀏覽器菜單欄菜單欄工具欄工具欄模塊說明框模塊說明框基本模塊庫基本模塊庫已安裝專用已安裝專用模塊庫模塊庫模

31、塊查找框模塊查找框模塊顯示框模塊顯示框標(biāo)題欄標(biāo)題欄Simulink基本模塊庫包括基本模塊庫包括8類子庫類子庫 : u Continuous(連續(xù)系統(tǒng)模塊組)(連續(xù)系統(tǒng)模塊組)u Discrete(離散系統(tǒng)模塊組)(離散系統(tǒng)模塊組)u Math(數(shù)學(xué)運(yùn)算模塊組)(數(shù)學(xué)運(yùn)算模塊組)u Ports&Subsystems(端口與子系統(tǒng)模塊組)(端口與子系統(tǒng)模塊組)u Signal Routing(信號(hào)通道模塊組)(信號(hào)通道模塊組)u Logic and Bit Operations(邏輯運(yùn)算模塊組)(邏輯運(yùn)算模塊組)u Sinks(信號(hào)接收器模塊組)(信號(hào)接收器模塊組)u Sources(信號(hào)源模塊組

32、)(信號(hào)源模塊組) Simulink有有15類專用模塊庫類專用模塊庫: l Communications Blockset(通信模塊集)(通信模塊集)l DSP Blockset(信號(hào)處理工具箱)(信號(hào)處理工具箱)l Control System Toolbox(控制系統(tǒng)工具箱)(控制系統(tǒng)工具箱)l Neural Network Blockset(神經(jīng)網(wǎng)絡(luò)模塊集)(神經(jīng)網(wǎng)絡(luò)模塊集)l Power System Blockset(電源系統(tǒng)模塊集)(電源系統(tǒng)模塊集) 3. Simulink模塊編輯窗口模塊編輯窗口 啟動(dòng)方式:?jiǎn)?dòng)方式: 模塊庫瀏覽器的菜單模塊庫瀏覽器的菜單“File”/“New”/

33、“Model”命令。命令。 單擊工具欄上的單擊工具欄上的 圖標(biāo)圖標(biāo)菜單欄菜單欄工具欄工具欄模塊編輯框模塊編輯框當(dāng)前狀態(tài)當(dāng)前狀態(tài)仿真進(jìn)程仿真進(jìn)程仿真解法仿真解法4.MATLAB的基本使用方法的基本使用方法vMATLAB主窗口是主窗口是MATLAB的主要工作界面。主窗口除了的主要工作界面。主窗口除了嵌入一些子窗口外,還主要包括菜單欄和工具欄。嵌入一些子窗口外,還主要包括菜單欄和工具欄。1菜單欄菜單欄在在MATLAB 6主窗口的菜單欄,共包含主窗口的菜單欄,共包含F(xiàn)ile、Edit、View、Web、Window和和Help 6個(gè)菜單項(xiàng)。個(gè)菜單項(xiàng)。4.1主窗口 (1) File菜單項(xiàng):菜單項(xiàng):Fil

34、e菜單項(xiàng)實(shí)現(xiàn)有關(guān)文件的操作。菜單項(xiàng)實(shí)現(xiàn)有關(guān)文件的操作。(2) Edit菜單項(xiàng):菜單項(xiàng):Edit菜單項(xiàng)用于命令窗口的編輯操作。菜單項(xiàng)用于命令窗口的編輯操作。(3) View菜單項(xiàng):菜單項(xiàng):View菜單項(xiàng)用于設(shè)置菜單項(xiàng)用于設(shè)置MATLAB集成環(huán)境集成環(huán)境的顯示方式。的顯示方式。 (4) Web菜單項(xiàng):菜單項(xiàng):Web菜單項(xiàng)用于設(shè)置菜單項(xiàng)用于設(shè)置MATLAB的的Web操作。操作。(5) Window菜單項(xiàng):主窗口菜單欄上的菜單項(xiàng):主窗口菜單欄上的Window菜單,只菜單,只包含一個(gè)子菜單包含一個(gè)子菜單Close all,用于關(guān)閉所有打開的編輯器窗,用于關(guān)閉所有打開的編輯器窗口,包括口,包括M-file

35、、Figure、Model和和GUI窗口。窗口。(6) Help菜單項(xiàng):菜單項(xiàng):Help菜單項(xiàng)用于提供幫助信息。菜單項(xiàng)用于提供幫助信息。v2工具欄工具欄MATLAB 6主窗口的工具欄共提供了主窗口的工具欄共提供了10個(gè)命個(gè)命令按鈕。這些命令按鈕均有對(duì)應(yīng)的菜單命令,令按鈕。這些命令按鈕均有對(duì)應(yīng)的菜單命令,但比菜單命令使用起來更快捷、方便。但比菜單命令使用起來更快捷、方便。4.2 命令窗口命令窗口v命令窗口是命令窗口是MATLAB的主要交互窗口,用于的主要交互窗口,用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。MATLAB命令窗口中的命令窗口中的“”為命令提示

36、符,為命令提示符,表示表示MATLAB正在處于準(zhǔn)備狀態(tài)。在命令提正在處于準(zhǔn)備狀態(tài)。在命令提示符后鍵入命令并按下回車鍵后,示符后鍵入命令并按下回車鍵后,MATLAB就會(huì)解釋執(zhí)行所輸入的命令,并在命令后面就會(huì)解釋執(zhí)行所輸入的命令,并在命令后面給出計(jì)算結(jié)果。給出計(jì)算結(jié)果。v一般來說,一個(gè)命令行輸入一條命令,命令一般來說,一個(gè)命令行輸入一條命令,命令行以回車結(jié)束。但一個(gè)命令行也可以輸入若行以回車結(jié)束。但一個(gè)命令行也可以輸入若干條命令,各命令之間以逗號(hào)分隔,若前一干條命令,各命令之間以逗號(hào)分隔,若前一命令后帶有分號(hào),則逗號(hào)可以省略。例如命令后帶有分號(hào),則逗號(hào)可以省略。例如p=15,m=35p=15;m=

37、354.3初識(shí)初識(shí)MATLABv例例1-1 繪制正弦曲線和余弦曲線。繪制正弦曲線和余弦曲線。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x);v例例1-2 求方程求方程 3x4+7x3 +9x2-23=0的全部根。的全部根。p=3,7,9,0,-23; %建立多項(xiàng)式系數(shù)向量建立多項(xiàng)式系數(shù)向量x=roots(p) %求根求根例例1-3、用簡(jiǎn)短命令計(jì)算并繪制在、用簡(jiǎn)短命令計(jì)算并繪制在0 x 6范圍內(nèi)范圍內(nèi)的的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,

38、y1,x, y2,x, y3)4.4 基本運(yùn)算基本運(yùn)算v使用使用MATLAB進(jìn)行數(shù)學(xué)式的計(jì)算就像用計(jì)算進(jìn)行數(shù)學(xué)式的計(jì)算就像用計(jì)算器進(jìn)行數(shù)字運(yùn)算一樣簡(jiǎn)便方便。器進(jìn)行數(shù)字運(yùn)算一樣簡(jiǎn)便方便。v系統(tǒng)規(guī)定系統(tǒng)規(guī)定:MATLAB的求值次序和一般的數(shù)學(xué)的求值次序和一般的數(shù)學(xué)求值次序相同求值次序相同,即算式從左向右執(zhí)行即算式從左向右執(zhí)行,冪次方的冪次方的優(yōu)先級(jí)最高優(yōu)先級(jí)最高,乘、除次之,最后是加減,如果乘、除次之,最后是加減,如果有括號(hào),則括號(hào)優(yōu)先執(zhí)行。有括號(hào),則括號(hào)優(yōu)先執(zhí)行。v例例1.1 有一個(gè)半徑有一個(gè)半徑r=3的圓,計(jì)算其面積。的圓,計(jì)算其面積。4.5 變量變量v變量名由字母、數(shù)字和下劃線組成,字母間變

39、量名由字母、數(shù)字和下劃線組成,字母間不可留空格,且第一個(gè)字符必須為字母不可留空格,且第一個(gè)字符必須為字母v變量名中的英文字母大小寫是有區(qū)別的變量名中的英文字母大小寫是有區(qū)別的v 變量名的長(zhǎng)度上限為變量名的長(zhǎng)度上限為19個(gè)字符個(gè)字符v系統(tǒng)還提供了一些特殊變量,如:系統(tǒng)還提供了一些特殊變量,如:ans、pi、inf、eps、i或或jv MATLAB無需進(jìn)行變量聲明無需進(jìn)行變量聲明4.6 常用函數(shù)常用函數(shù) MATLAB典型函數(shù):典型函數(shù): abs(x) 、sqrt(x) 、exp(x) 、sin(x) 、 cos(x) 、asin(x) 、acos(x) 、tan(x) 、atan(x) 、 log(x) 、log10(x) 、lcm(x,y) 、gcd(x,y) 、imag(x) 、 real(x) 、conj(x)使用函數(shù)需要注意幾點(diǎn):使用函數(shù)需要注意幾點(diǎn):v 函數(shù)一定出現(xiàn)在等式的右邊函數(shù)一定出現(xiàn)在等式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論