2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第1頁(yè)
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第2頁(yè)
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第3頁(yè)
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第4頁(yè)
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第5頁(yè)
已閱讀5頁(yè),還剩222頁(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)介

MATLAB/Simulink電力系統(tǒng)建模與仿真第2版目 錄2版前言1版前言第1章 MATLAB基礎(chǔ)知識(shí) 1

311同步發(fā)電機(jī)電氣部分?jǐn)?shù)學(xué)模型……47312同步發(fā)電機(jī)機(jī)械部分?jǐn)?shù)學(xué)模型……4813基于電氣原理圖的同步電機(jī)1 MATLAB簡(jiǎn)介 1

3.2

數(shù)學(xué)模型 481.1.1概述 11.2MATLAB安裝與運(yùn)行 2

變壓器數(shù)學(xué)模型及基于電氣原理圖的變壓器數(shù)學(xué)模型………561.2 MATLAB工作環(huán)境 3

3.2.1變壓器數(shù)學(xué)模型 561.3 MATLAB的通用命令 8

3.2.2基于電氣原理圖的變壓器4 MATLAB的計(jì)算基礎(chǔ) 10

3.3

數(shù)學(xué)模型 564.1MATLAB的預(yù)定義變量 10

輸電線路模型 591.4.2常用運(yùn)算和基本數(shù)學(xué)函數(shù) 101.4.3數(shù)值的輸出格式 12

3.3.1輸電線路的等效電路 593.3.2基于電氣原理圖的輸電線路15 基本賦值和運(yùn)算

……13

3.4

數(shù)學(xué)模型 601.6 MATLAB程序設(shè)計(jì)基礎(chǔ) 151.7 MATLAB的繪圖功能 19

負(fù)荷模型 623.4.1負(fù)荷的數(shù)學(xué)模型 633.4.2基于電氣原理圖的負(fù)荷模型 64第2章 Simulink仿真入門 24

.5 電力圖形用戶分析界面(wi)2.1 Simulink基本操作 24

模塊 682.1.1運(yùn)行Simulink 242.1.2Simulink模塊庫(kù) 261.3Simulink模塊的操作 285.1Powergui模塊主窗口介紹 683.5.2穩(wěn)態(tài)電壓電流分析窗口 703.5.3初始狀態(tài)設(shè)置窗口 712 運(yùn)行仿真及參數(shù)設(shè)置簡(jiǎn)介………3454潮流計(jì)算和電機(jī)初始化窗口………722.2.1運(yùn)行仿真 342.2.2仿真參數(shù)設(shè)置簡(jiǎn)介 3423 創(chuàng)建模型的基本步驟及仿真算法簡(jiǎn)介 382.3.1創(chuàng)建模型的基本步驟 382.3.2仿真算法簡(jiǎn)介 394 子系統(tǒng)及其封裝 40

3.5.5LTI視窗 735.6阻抗依頻特性測(cè)量視窗 733.5.7FFT分析窗口 753.5.8報(bào)表生成窗口 763.5.9磁滯特性設(shè)計(jì)工具窗口 765.10計(jì)算RLC線路參數(shù)窗口 78第4章 MATLAB在電力系統(tǒng)潮流計(jì)算中的應(yīng)用實(shí)例 2.4.1創(chuàng)建子系統(tǒng) 402.4.2封裝子系統(tǒng)

1 MATPOWER軟件在電力系統(tǒng)潮流第3章 電力系統(tǒng)元件模型及模型庫(kù)

計(jì)算中的應(yīng)用實(shí)例 804.1.3MATPOWER應(yīng)用舉例……………854.1.1MATPOWER的安4.1.3MATPOWER應(yīng)用舉例……………853.

介紹 47同步發(fā)電機(jī)數(shù)學(xué)模同步發(fā)電機(jī)數(shù)學(xué)模型 47

4.1.2MATPOWER的主要技術(shù)規(guī)則……81Ⅵ MATLAB/Simulink電力系統(tǒng)建模與仿真 第2版42 Powergui在簡(jiǎn)單電力系統(tǒng)潮流

6.2.3簡(jiǎn)單電力系統(tǒng)的靜態(tài)穩(wěn)定性計(jì)算中的應(yīng)用實(shí)例 884.2.1電力系統(tǒng)元件的模型選擇 88

仿真 1334.2.2模型參數(shù)的計(jì)算及設(shè)置 90

第7章 MATLAB在微機(jī)繼電保護(hù)中的2.3計(jì)算結(jié)果及比較 92

7.

應(yīng)用實(shí)例 140第5章 MATLAB在電力系統(tǒng)故障分析中

設(shè)計(jì)實(shí)例 140簡(jiǎn)單數(shù)字濾波器的MATLAB輔助的仿真實(shí)例…………95 7.1.1減法濾波器(簡(jiǎn)單數(shù)字濾波器的MATLAB輔助1 無(wú)窮大功率電源供電系統(tǒng)

簡(jiǎn)介 140三相短路仿真 95

7.1.2減法濾波器設(shè)計(jì)分析舉例………1415.1.1無(wú)窮大功率電源供電系統(tǒng)三相短路的

72 微機(jī)繼電保護(hù)算法的MATLAB暫態(tài)過(guò)程 95

輔助設(shè)計(jì) 1445.1.2無(wú)窮大功率電源供電系統(tǒng)仿真模型 7.2.1基于正弦函數(shù)模型的微機(jī)繼電構(gòu)建 96

保護(hù)算法 1445.1.3仿真結(jié)果及分析…101 7.2.2全波傅里葉算法 1475.2 同步發(fā)電機(jī)突然短路的暫態(tài) 7.3 輸電線路距離保護(hù)的建模與過(guò)程仿真 103

仿真 1525.2.1同步發(fā)電機(jī)突然三相短路暫態(tài)

7.3.1方向阻抗繼電器的數(shù)學(xué)模型……153過(guò)程簡(jiǎn)介 103

7.3.2方向阻抗繼電器的仿真模型……1555.2.2同步發(fā)電機(jī)突然三相短路暫態(tài)

7.3.3仿真結(jié)果 1585.3

過(guò)程的數(shù)值計(jì)算與仿真方法……104

74 Simulink在變壓器微機(jī)繼電保護(hù)中小電流接地系統(tǒng)中的單相接地

的應(yīng)用舉例 159仿真…………………110 7.4.1變壓器仿真模型構(gòu)建 1605.3.1小電流接地系統(tǒng)中的單相接地 7.4.2變壓器空載合閘時(shí)勵(lì)磁涌流的故障特點(diǎn)簡(jiǎn)介

……111

仿真 1625.3.2建……111 7.4.3變壓器保護(hù)區(qū)內(nèi)、外故障時(shí)比率5.3.3仿真結(jié)果及分析

…116

制動(dòng)的仿真 1657.4.4變壓器繞組內(nèi)部故障的簡(jiǎn)單第6章 MATLAB在電力系統(tǒng)穩(wěn)定性

仿真 1676.

分析中的應(yīng)用實(shí)例 120簡(jiǎn)單電力系統(tǒng)的暫態(tài)穩(wěn)定性簡(jiǎn)單電力系統(tǒng)的暫態(tài)穩(wěn)定性

75 輸電線路故障行波仿真舉例……168仿真分析 120

7.5.2輸電線路故障行波仿真模型的7.5.1行波的基本概念…1696.1.17.5.1行波的基本概念…169

構(gòu)建 17112簡(jiǎn)單電力系統(tǒng)的暫態(tài)穩(wěn)定性計(jì)算53輸電線路故障行波的提取………171與仿真 123

7.5.4仿真結(jié)果 17362 簡(jiǎn)單電力系統(tǒng)的靜態(tài)穩(wěn)定性仿真分析 131

第8章 MATLAB在高壓直流輸電及6.2.1電力系統(tǒng)靜態(tài)穩(wěn)定性簡(jiǎn)介………131

8.

柔性輸電中的仿真實(shí)例

………1766.2.2簡(jiǎn)單電力系統(tǒng)的靜態(tài)穩(wěn)定性

高壓直流輸電系統(tǒng)的仿真計(jì)算………………132 實(shí)例 177目 錄 Ⅶ8.1.1HVDC系統(tǒng)的基本結(jié)構(gòu)與工作 8.3.2Simulink中的TCSC模塊介紹……196原理 1778.1.2HVDC系統(tǒng)的仿真模型描述 178

8.3.3利用TCSC提高系統(tǒng)輸電容量的仿真模擬 1988.1.3HVDC系統(tǒng)的調(diào)節(jié)特性 1828.1.4HVDC系統(tǒng)的起停和階躍響應(yīng)

8.3.4TCSC對(duì)系統(tǒng)暫態(tài)穩(wěn)定性影響的仿真模擬 199仿真 1838.1.5HVDC系統(tǒng)直流線路故障仿真…18516HVDC系統(tǒng)交流側(cè)線路故障

第9章 MATLAB在風(fēng)力發(fā)電技術(shù)中的應(yīng)用仿真 2068.2

仿真 186

1 定速風(fēng)電機(jī)組的仿真實(shí)例………207靜止無(wú)功補(bǔ)償器(SVC)的仿真

9.1.1

207實(shí)例 188

定速風(fēng)電機(jī)組的工作原理

………21SVC的基本結(jié)構(gòu)與工作原理……18912定速風(fēng)電機(jī)組的模型仿真………20822Simulink中的SVC模塊介紹……190

2 …2148.2.3SVC系統(tǒng)的仿真模擬 1923 晶閘管控制串聯(lián)電容器(TCSC)的2.1基于雙饋感應(yīng)發(fā)電機(jī)的變速風(fēng)電機(jī)組的工作原理 215仿真實(shí)例 195

9.2.2雙饋?zhàn)兯亠L(fēng)電機(jī)組的模型仿真…2158.3.1TCSC的基本原理與數(shù)學(xué)模型簡(jiǎn)介 195第1章 MATLAB基礎(chǔ)知識(shí)11 MATLAB簡(jiǎn)介1.1.1 概述MATLABMatriLaboratory的前三個(gè)字母組成2070年代后期,美國(guó)新墨西哥大學(xué)計(jì)算機(jī)系主任CleveMoler教授為了便于教學(xué),減輕學(xué)生編寫(xiě)FOR-TRAN程序的負(fù)擔(dān),對(duì)代數(shù)軟件包LINPACK和特征值計(jì)算軟件包EISPACK編寫(xiě)了接口程序,MATLAB的第一個(gè)版本1984年,CleveMolerJohnLittle等人合作成立了Mathworks軟件公司,并將MATLAB正式推向市場(chǎng)。在三十多年來(lái)的發(fā)展和競(jìng)爭(zhēng)中,MAT-B不斷推出新的版本,截止到2017年,已推出的最新版本是8.5版(2015a),運(yùn)行環(huán)DOS環(huán)境下運(yùn)行到如今可以在包括Windows、UNIXMacOSX等多個(gè)操作平臺(tái)上運(yùn)行,MATLAB已成為國(guó)際認(rèn)可的最優(yōu)秀的科技應(yīng)用軟件。在大學(xué)里,它是用于初等和高等數(shù)學(xué)、自然科學(xué)和工程學(xué)的標(biāo)準(zhǔn)數(shù)學(xué)工具;在工業(yè)界,它是一個(gè)高效的研究、開(kāi)發(fā)和分析的工具。隨著科技的發(fā)展,許多優(yōu)秀的工程師不斷地對(duì)MATLAB進(jìn)行了完善,使其從一個(gè)簡(jiǎn)單的矩陣分析軟件逐漸發(fā)展成為一個(gè)具有極高通用性并帶有眾多實(shí)用工具的運(yùn)算操作平臺(tái)。Simulink是MATLAB提供的實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模和仿真的一個(gè)軟件包,是基于框圖的仿真平臺(tái)。SimulinkMATLAB環(huán)境上,MATLAB的強(qiáng)大計(jì)算功能為基礎(chǔ),利用直觀的模塊框圖進(jìn)行仿真和計(jì)算。Simulink提供了各種仿真工具,尤其是它不斷擴(kuò)展的、內(nèi)容豐富的模塊庫(kù),為系統(tǒng)的仿真提供了極大便利。在Simulink平臺(tái)上拖曳和連接典型模塊就可以繪制仿真對(duì)象的模型框圖,并對(duì)模型進(jìn)行仿真。Simulink平臺(tái)上,仿真模型的可讀性很強(qiáng),這就避免了在MATLAB窗口使用MATLAB命令和函數(shù)進(jìn)行仿真時(shí),需要熟悉大量M函數(shù)的麻煩,對(duì)廣大工程技術(shù)人員來(lái)說(shuō),這無(wú)疑是一個(gè)福音。MATLAB的不斷升級(jí),Simulink的版本也在不斷升級(jí),1993MATLAB40/Simulink102001MATLAB61/Simulink4.1版、2002年的MATLAB6.5/Simulink5.0版、2004年的MATLAB7.0/Simulink6.0版,現(xiàn)在Simulink已經(jīng)是與MATLAB同步更新,不斷地推出新的版本。Simulink最初是為控制系統(tǒng)的仿真而建立的工具箱,在使用中易編程、易擴(kuò)展,并且可以解決MATLAB不易解決的非線性、變系數(shù)等問(wèn)題。它能夠進(jìn)行連續(xù)系統(tǒng)和離散系統(tǒng)的仿真,也能夠進(jìn)行線性系統(tǒng)和非線性系統(tǒng)的仿真,并且支持多種采樣頻率系統(tǒng)的仿真,使不同的系統(tǒng)能以不同的采樣頻率組合,這樣就可以仿真較大、較復(fù)雜的系統(tǒng)。因此,不同的科學(xué)領(lǐng)域根據(jù)自己的仿真要求,以MATLAB為基礎(chǔ),開(kāi)發(fā)了大量的專用仿真程序,并把這些程序以模塊的形式放入Simulink中,形成了模塊庫(kù)。Simulink的模塊庫(kù)實(shí)際上就是用MATLAB基本語(yǔ)言編寫(xiě)的子程序集?,F(xiàn)在Simulink模塊庫(kù)有三級(jí)樹(shù)狀的子目錄,在一級(jí)目錄下就包含了Simulink最早開(kāi)發(fā)的數(shù)學(xué)計(jì)算工具箱、控制系統(tǒng)工具箱的內(nèi)容,之后開(kāi)發(fā)的信號(hào)處理工具(DSPBlocks)、通信系統(tǒng)工具箱(Comm)等也并行列入了模塊庫(kù)的一級(jí)子目錄,逐級(jí)打開(kāi)模塊庫(kù)瀏覽器(SimulinkLibraryBrowser)的目錄,就可以看到這些模塊。從k.1(rmt),該模塊庫(kù)主要由加拿大和公司共同開(kāi)發(fā)。在Simulink環(huán)境下用電力系統(tǒng)模塊庫(kù)的模塊,可以方便地進(jìn)行電路、電力電子電路、電力系統(tǒng)和電機(jī)控制系統(tǒng)等的仿真。本書(shū)仿真實(shí)驗(yàn)就是在/Simulink環(huán)境下,主要使用電力系統(tǒng)模塊庫(kù)進(jìn)行的。通過(guò)對(duì)電力系統(tǒng)和電力電子電路的仿真,不僅利用了/Simulink的強(qiáng)大功能,而且可以學(xué)習(xí)系統(tǒng)仿真的方法和技巧,研究電力系統(tǒng)的原理和性能。Simulink的密切依存關(guān)系,Simulink之前,必須首先介紹。的一些基本命令和函數(shù),尤其是的繪圖功能,是在電力系統(tǒng)的仿真中經(jīng)常使用的。但是本書(shū)主要是介紹電力系統(tǒng)的仿真,因此只介紹中與本書(shū)有關(guān)的內(nèi)容。功能強(qiáng)大,的資料已經(jīng)很多,如果要求對(duì)有更深入的了解,可以閱讀其他有關(guān)的書(shū)籍。需要說(shuō)明的是,2006年開(kāi)始,Mathworks公司加快了對(duì)MATLAB的更新速度,平均每年進(jìn)行兩次更新,并將相應(yīng)的建造編號(hào)”以相應(yīng)的年份作為標(biāo)記,以方便用戶了解相應(yīng)的更新信息。由于本書(shū)的主要目的是用于電氣工程及其自動(dòng)化專業(yè)的MATLAB/Simulink仿真入門教材Simulink中的電力系統(tǒng)模塊庫(kù)PowerSystemBlockset變化不是很大,所以本書(shū)沒(méi)有追求采用最新的MATLAB版本,而是采用了稍早的R2010R2012版本,其仿真程序同樣能夠在新的版本中運(yùn)行。1.2 MATLAB安裝與運(yùn)行MATLAB對(duì)硬件和軟件的要求對(duì)于32位和64位的MATLAB及Simulink產(chǎn)品,可以安裝到下列操作系統(tǒng)上:WindowsXPWindowsVistaWindows7RedHatEnterpriseLinux5MacOS8無(wú)論處于單機(jī)環(huán)境還是網(wǎng)絡(luò)環(huán)境,MATLAB都可以發(fā)揮其卓越的性能。若是單純地使用MATLAB語(yǔ)言進(jìn)行編程,而不連接外部語(yǔ)言的程序,則使用MATLAB語(yǔ)言編寫(xiě)出來(lái)的程序可以不做任何修改直接移植到其他機(jī)型上去運(yùn)行。當(dāng)前MATLAB對(duì)PC系統(tǒng)的要求如下:支持SSE2指令集的Intel或者AMD處理器;僅安裝MATLAB1GB的硬盤空間,典型安裝需要3~4GB;1GB的內(nèi)存空間,2GB。安裝過(guò)程隨著MATLAB的不斷更新,其安裝過(guò)程也越來(lái)越簡(jiǎn)單,大致可以分為安裝前的設(shè)置(包括填寫(xiě)安裝密鑰、選擇安裝類型及確定安裝目錄等)、MATLAB和相應(yīng)模塊及激活MATLAB三個(gè)階段。用戶只要按照安裝界面的提示逐步進(jìn)行即可,對(duì)于詳細(xì)的安裝步驟這里不進(jìn)行贅述。PAGE11第PAGE11第1章 MATLAB基礎(chǔ)知識(shí)PAGE4MATLABPAGE4MATLAB/Simulink電力系統(tǒng)建模與仿真 第2版2 MATLAB工作環(huán)境本節(jié)將通過(guò)介紹MATLAB的工作環(huán)境界面,使讀者初步掌握MATLAB軟件的基本操作方法。在桌面雙擊MATLAB快捷方式圖標(biāo),或者在開(kāi)始菜單里單擊MATLAB的選項(xiàng),即可進(jìn)入MATLAB的工作界面。工作界面主要由菜單、工具欄、當(dāng)前工作目錄窗口、工作空間管理窗口、歷史命令窗口和命令窗口組成,如圖1-1所示。菜單和工具欄

圖1-1MATLAB的工作界面MATLAB的菜單和工具欄界面與Windows程序的界面相似,用戶只要稍加實(shí)踐就可以掌握其功能和使用方法。菜單的內(nèi)容會(huì)隨著在命令窗口中執(zhí)行不同命令而做出相應(yīng)的改變。這里只簡(jiǎn)單介紹默認(rèn)情況下的菜單和工具欄?!綟ile】菜單New:用于建立新的.m文件、圖形、模型和圖形用戶界面。Open用于打開(kāi)m文件fig文件mat文件mdl文件cdr文件等。CeCndndw:關(guān)閉命令窗口。ImportData:用于向工作空間導(dǎo)入數(shù)據(jù)。SaveWorkplaceAs:將工作空間的變量存儲(chǔ)在某一文件中。Setpath:打開(kāi)搜索路徑設(shè)置對(duì)話框。Preferences:打開(kāi)環(huán)境設(shè)置對(duì)話框?!綞dit】菜單主要用于復(fù)制、粘貼等操作,與一般的Windows程序類似,在此不做詳細(xì)介紹?!綝ebug】菜單用于設(shè)置程序的調(diào)試?!綪arallel】菜單用于設(shè)置并行計(jì)算的運(yùn)行環(huán)境?!綝esktop】菜單用于設(shè)置主窗口中需要打開(kāi)的窗口?!網(wǎng)indow】菜單列出當(dāng)前所有打開(kāi)窗口。【Help】菜單用于選擇打開(kāi)不同的幫助窗口。當(dāng)用戶單擊“CurrentFolder”窗口時(shí),使得該窗口成為當(dāng)前窗口,那么會(huì)增加一個(gè)如圖1-2所示的【View】菜單,用于設(shè)置如何顯示當(dāng)前目錄下的文件。圖1-2 【View】菜單當(dāng)用戶單擊“Workspace”窗口時(shí),使得該窗口成為當(dāng)前窗口,那么會(huì)增加如圖1-3所示的【View】和【Graphics】菜單?!綱iew】菜單用于設(shè)置如何在工作空間管理窗口中顯示變量,【Graphics】菜單用于打開(kāi)繪圖工具,用戶可以使用這些工具繪制變量。下面介紹“工具欄”中部分按鈕的功能。:打開(kāi)Simulink主窗口。:打開(kāi)用戶界面設(shè)計(jì)窗口。:打開(kāi)MATLAB的程序性能分析工具Profiler。:打開(kāi)幫助系統(tǒng)。MATLAB的搜索路徑。

圖1-3 【Graphics】菜單:顯示當(dāng)前目錄,單擊下拉菜單可以瀏在主窗口左下角有一個(gè)Start”開(kāi)始按鈕,單擊它可以快捷地選擇多級(jí)菜單中的功能選項(xiàng)1-4所示Start開(kāi)始按鈕和工具欄中的部分功能選項(xiàng)是重復(fù)的,用戶可以根據(jù)自己的習(xí)慣和方便來(lái)選擇使用。命令窗口MATLAB的命令窗口如圖1-5所示,其中“>>”為運(yùn)算提示符,表示MATLAB處于準(zhǔn)備狀態(tài)。當(dāng)在提示符后輸入一段程序或一段運(yùn)算式后按<Enter>鍵,MATLAB會(huì)給出計(jì)算結(jié)果,并再次進(jìn)入準(zhǔn)備狀態(tài)(所得結(jié)果將被保存在工作空間管理窗口中)。單擊命令窗口右上角的按鈕,可以使命令窗口脫離主窗口而成為一個(gè)獨(dú)立窗口;同理,單擊獨(dú)立窗口右上角的按鈕,可以使命令窗口再次合并到MATLAB主界面。

圖1-4 “Start”按鈕在該窗口中選中某一表達(dá)式,然后單擊鼠標(biāo)右鍵,彈出如圖1-6所示的上下文菜單,通過(guò)不同的選項(xiàng)可以對(duì)選中的表達(dá)式進(jìn)行相應(yīng)的操作。在命令窗口中,為函數(shù)瀏覽按鈕,單擊該按鈕,將彈出函數(shù)瀏覽器,用戶可以選擇需要的函數(shù),同時(shí)MATLAB系統(tǒng)彈出黃色提示框顯示該函數(shù)的用法,如圖1-7所示。右擊某一函數(shù),在彈出的快捷菜單中選擇“InsertFunctionintoCommandWindow”,即可將該函數(shù)插入到運(yùn)算提示符“>>”后。圖1-5命令窗口歷史命令窗口

圖1-6命令窗口的上下文菜單該窗口主要用于記錄所有執(zhí)行過(guò)的命令,在默認(rèn)設(shè)置下,該窗口會(huì)保留自安裝后所有使用過(guò)的命令的歷史記錄,并標(biāo)明使用時(shí)間。同時(shí),用戶可以用鼠標(biāo)單擊某一歷史命令來(lái)重新圖1-7函數(shù)瀏覽器執(zhí)行該命令。與命令窗口類似,該窗口也可以成為獨(dú)立窗口。在該窗口中選中某一歷史命令,然后單擊鼠標(biāo)右鍵,彈出如圖1-8所示的上下文菜單。通過(guò)上下文菜單,用戶可以刪除或粘貼歷史記錄;也可為選中的表達(dá)式或命令創(chuàng)建一個(gè)M文件;還可為某一句或某一段表達(dá)式或命令創(chuàng)建快捷按鈕。當(dāng)前工作目錄窗口在目錄窗口中可顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件,搜索功能與命令窗口類似,該窗口也可以成為一個(gè)獨(dú)立的窗口,如圖1-9所示。工作空間管理窗口

圖1-8歷史命令窗口的上下文菜單在工作空間管理窗口中可以顯示當(dāng)前內(nèi)存中所有的MATLAB變量的變量名、數(shù)據(jù)結(jié)構(gòu)、字節(jié)數(shù)以及類型等信息,不同的變量類型分別對(duì)應(yīng)不同的變量名圖標(biāo),如圖1-10所示。下面介紹“工作空間管理窗口”中部分按鈕的功能。:向工作空間添加新的變量;:打開(kāi)在工作空間中選中的變量;:向工作空間中導(dǎo)入數(shù)據(jù)文件;:保存工作空間的變量;圖1-9當(dāng)前工作目錄窗口圖1-10工作空間管理窗口:刪除工作空間的變量;:繪制工作空間的變量,可以用不同的繪制命令來(lái)繪制變量。3 MATLAB的通用命令通用命令是MATLAB中經(jīng)常使用的一些命令,這些命令可以用來(lái)管理目錄、命令、函數(shù)、變量、工作空間、文件和窗口。為了更好地使用MATLAB,用戶需要熟練地掌握和理解這些命令。下面對(duì)這些命令進(jìn)行介紹。常用命令常用命令的功能見(jiàn)表1-1。表1-1MATLAB常用命令命 令命令說(shuō)明命 令命令說(shuō)明cd顯示或改變當(dāng)前工作目錄Load加載指定文件的變量dir顯示當(dāng)前目錄或指定目錄下的文件Diary日志文件命令clc清除工作窗口中的所有顯示內(nèi)容!調(diào)用DOS命令home將光標(biāo)移至命令窗口的最左上角exit退出MATLAB7.0clf清除圖形窗口quit退出MATLAB7.0type顯示文件內(nèi)容pack收存內(nèi)存碎片clear清理內(nèi)存變量hold圖形保持開(kāi)關(guān)echo工作窗口信息顯示開(kāi)關(guān)path顯示搜索目錄disp顯示變量或文字內(nèi)容save保存內(nèi)存變量到指定文件輸入內(nèi)容的編輯在MATLAB命令窗口中,為了便于對(duì)輸入的內(nèi)容進(jìn)行編輯,MATLAB提供了一些控制光標(biāo)位置和進(jìn)行簡(jiǎn)單編程的常用編輯鍵和組合鍵。熟練地掌握這些功能,可以在輸入命令的過(guò)程中起到事半功倍的效果。表1-2列出了一些常用鍵盤按鍵及說(shuō)明。表1-2命令行中的鍵盤按鍵鍵盤按鍵說(shuō) 明鍵盤按鍵說(shuō) 明↑Ctrl+p,調(diào)用上一行HomeCtrl+a,光標(biāo)置于當(dāng)前行開(kāi)頭↓Ctrl+n,調(diào)用下一行EndCtrl+e,光標(biāo)置于當(dāng)前行末尾←Ctrl+b,光標(biāo)左移一個(gè)字符escCtrl+u,清除當(dāng)前輸入行→Ctrl+f,光標(biāo)右移一個(gè)字符delCtrl+d,刪除光標(biāo)處的字符Ctrl+←Cl+l,光標(biāo)左移一個(gè)單詞backspaceCtrl+h,刪除光標(biāo)前的字符Ctrl+→Ctrl+r,光標(biāo)右移一個(gè)單詞Alt+backspace恢復(fù)上一次的刪除標(biāo)點(diǎn)在MATLAB語(yǔ)言中,一些標(biāo)點(diǎn)符號(hào)也被賦予了特殊的意義,或代表一定的運(yùn)算,具體內(nèi)容見(jiàn)表1-3。表1-3MATLAB語(yǔ)言的標(biāo)點(diǎn)標(biāo) 點(diǎn)說(shuō) 明標(biāo) 點(diǎn)說(shuō) 明:冒號(hào),具有多種應(yīng)用功能%百分號(hào),注釋標(biāo)記;分號(hào),區(qū)分行及取消運(yùn)行結(jié)果顯示!驚嘆號(hào),調(diào)用操作系統(tǒng)運(yùn)算,逗號(hào),區(qū)分列及函數(shù)分隔符=等號(hào),賦值標(biāo)記()括號(hào),指定運(yùn)算優(yōu)先級(jí)‘單引號(hào),字符串的標(biāo)示符[]方括號(hào),定義矩陣.小數(shù)點(diǎn)及對(duì)象域訪問(wèn){}大括號(hào),構(gòu)造單元數(shù)組…續(xù)行符號(hào)PAGE10MATLABPAGE10MATLAB/Simulink電力系統(tǒng)建模與仿真 第2版PAGE11第PAGE11第1章 MATLAB基礎(chǔ)知識(shí)14 MATLAB的計(jì)算基礎(chǔ)MATLAB的計(jì)算主要是數(shù)組和矩陣的計(jì)算,并且定義的數(shù)值元素是復(fù)數(shù),這是MAT-LAB的重要特點(diǎn)。函數(shù)是計(jì)算中必不可少的,MATLAB函數(shù)的變量不需要事先定義,它以在命令語(yǔ)句中首次出現(xiàn)而自然定義,這在使用中很方便。當(dāng)使用MATLAB/Simulink進(jìn)行仿真時(shí),MATLAB的計(jì)算大部分已經(jīng)模塊化了,但是掌握一些必要的知識(shí)和定義還是很有必要的。1.4.1 MATLAB的預(yù)定義變量MATLAB中有很多預(yù)定義變量,這些變量都是在MATLAB啟動(dòng)后就已經(jīng)定義好的,它們都具有特定的意義,見(jiàn)表1-4。表1-4MATLAB預(yù)定義變量表變量名預(yù)定義ans分配最新計(jì)算的而又沒(méi)有給定名稱的表達(dá)式的值。當(dāng)在命令窗口中輸入表達(dá)式而不賦值給任何變量時(shí),在命令窗口中會(huì)自動(dòng)創(chuàng)建變量ans,并將表達(dá)式的運(yùn)算結(jié)果賦給該變量。但是變量ans僅保留最近一次的計(jì)算結(jié)果eps返回機(jī)器精度,定義了1與最接近可代表的浮點(diǎn)數(shù)之間的差。在一些命令中也用作偏差。可重新定義,但不能由clear命令恢復(fù)。MATLAB7.0為2.2204e016realmax返回計(jì)算機(jī)能處理的最大浮點(diǎn)數(shù)。MATLAB7.0為1.7977e+308realmin返回計(jì)算機(jī)能處理的最小的非零浮點(diǎn)數(shù)。MATLAB7.0為2.2251e308pi即π,若eps足夠小,則用16位十進(jìn)制數(shù)表達(dá)其精度Inf/inf定義為1,即當(dāng)分母或除數(shù)為0時(shí)返回f,不中斷執(zhí)行而繼續(xù)運(yùn)算0nan定義為Notanumber”,即未定式0或∞0 ∞i/j定義為虛數(shù)單位 -1??梢詾閕和j定義其他值但不再是預(yù)定義常數(shù)nargin給出一個(gè)函數(shù)調(diào)用過(guò)程中輸入自變量的個(gè)數(shù)nargout給出一個(gè)函數(shù)調(diào)用過(guò)程中輸出自變量的個(gè)數(shù)computer給出本臺(tái)計(jì)算機(jī)的基本信息version給出MATLAB的版本信息1.4.2 常用運(yùn)算和基本數(shù)學(xué)函數(shù)MATLAB中常用的運(yùn)算有算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算。算術(shù)運(yùn)算的表達(dá)式由字母或數(shù)字用運(yùn)算符號(hào)連接而成。MATLAB中常用的運(yùn)算符號(hào)見(jiàn)表1-5。表1-5MATLAB常用運(yùn)算符號(hào)表算術(shù)運(yùn)算符說(shuō) 明算術(shù)運(yùn)算符說(shuō) 明+加-減?乘.?數(shù)組乘^乘方.^數(shù)組乘方\反斜杠或左除/斜杠或右除./或.\數(shù)組除kron張量積y例如:算術(shù)表達(dá)式x^2/y-z表示x2÷y-z或x2-z,算術(shù)表達(dá)式x^2\(y-z)則表示y(y-z)÷x2或y2z。關(guān)系運(yùn)算是指兩個(gè)元素之間的比較,關(guān)系運(yùn)算的結(jié)果只能是0或1。0表示該關(guān)系式不成立假”;1表示該關(guān)系式成立即為真”。MATLAB中關(guān)系運(yùn)算有六種見(jiàn)1-6。表1-6MATLAB的關(guān)系運(yùn)算符表關(guān)系運(yùn)算符說(shuō) 明關(guān)系運(yùn)算符說(shuō) 明==等于~=不等于<小于>大于<=小于或等于>=大于或等于(0(假)1(真)兩個(gè)值,邏輯量的基本運(yùn)算有與(&)、或(|)()三種。有時(shí)也包括異或運(yùn)算(xor),異或運(yùn)算可以通過(guò)三種基本運(yùn)算組合而成?;具壿嬤\(yùn)算的真值表見(jiàn)表1-7。表1-7基本邏輯運(yùn)算的真值表邏輯運(yùn)算A=0A=1B=0B=1B=0B=1A&B0001A|B0111~A1100xor(A,B)0110MATLAB的函數(shù)極為豐富,一些最簡(jiǎn)單最常用的數(shù)學(xué)函數(shù)見(jiàn)表1-8。表1-8MATLAB常用數(shù)學(xué)函數(shù)表函 數(shù)數(shù)學(xué)含義函 數(shù)數(shù)學(xué)含義abs(x)求x的絕對(duì)值,即︱x︱,若x是復(fù)數(shù),即求x的模csc(x)求x的余割函數(shù),x為弧度n(x)求x的符號(hào),x為正得1,x為負(fù)得-1,x為零得0n(x)求x的反正弦數(shù),即sin-1xsqrt(x)求x的平方根,即xacos(x)求x的反余切函數(shù),cos-1xexp(x)求x的指數(shù)函數(shù),即exatan(x)求x的反正切函數(shù),tan-1xg(x)求x的自然對(duì)數(shù),即lnxacot(x)求x的反余切函數(shù),cot-1x10(x)求x的常用對(duì)數(shù),即lgxasec(x)求x的反正割函數(shù),sec-1x2(x)求x的以2為底的對(duì)數(shù),即log2xacsc(x)求x的反余割函數(shù),csc-1xn(x)求x的正弦函數(shù),x為弧度ud(x)求最接近x的整數(shù)cos(x)求x的余弦函數(shù),x為弧度rem(x,y)求整除x/y的余數(shù)tan(x)求x的正切函數(shù),x為弧度l(z)求復(fù)數(shù)z的實(shí)部cot(x)求x的余切函數(shù),x為弧度g(z)求復(fù)數(shù)z的虛部sec(x)求x的正割函數(shù),x為弧度nj(z)求復(fù)數(shù)z的共軛,即求z1.4.3 數(shù)值的輸出格式在MATLAB中,數(shù)值的屏幕輸出通常以不帶小數(shù)的整數(shù)格式或帶4位小數(shù)的浮點(diǎn)格式輸出。如果輸出結(jié)果中所有數(shù)值都是整數(shù),則以整數(shù)格式輸出;如果輸出結(jié)果中有一個(gè)或多個(gè)元素是非整數(shù),則以浮點(diǎn)數(shù)格式輸出。在MATLAB中,數(shù)值的默認(rèn)存儲(chǔ)類型是雙精度浮點(diǎn)類型,存儲(chǔ)位寬為64位,在運(yùn)行中MATLAB總是以所能達(dá)到的最高精度計(jì)算,輸出格式不會(huì)影響計(jì)算的精度。使用命令format可以改變屏幕輸出的格式,也可以通過(guò)命令窗口的下拉菜單來(lái)改變屏幕輸出的格式。有關(guān)format命令格式及其他有關(guān)的屏幕輸出命令見(jiàn)表1-9。表1-9數(shù)值輸出格式命令命令及格式說(shuō) 明formatshot以4位小數(shù)的浮點(diǎn)格式輸出formatlong以14位小數(shù)的浮點(diǎn)格式輸出formatshorte以4位小數(shù)加e+000的浮點(diǎn)格式輸出formatlonge以15位小數(shù)加e+000的浮點(diǎn)格式輸出formathex以十六進(jìn)制格式輸出format+提取數(shù)值的符號(hào)formatbank以銀行格式輸出,即只保留2位小數(shù)formatrat以有理數(shù)格式輸出moreon/off屏幕顯示控制。moreon表示滿屏停止,等待鍵盤輸入;moreoff表示不考慮窗口一次性輸出more(n)如果輸出多于n行,則只顯示n行5 基本賦值和運(yùn)算利用MATLAB可以做任何簡(jiǎn)單運(yùn)算和復(fù)雜運(yùn)算,可以直接進(jìn)行算術(shù)運(yùn)算,也可以利用MATLAB定義的函數(shù)進(jìn)行運(yùn)算;可以進(jìn)行向量運(yùn)算,也可以進(jìn)行矩陣或張量運(yùn)算。這里只介紹最簡(jiǎn)單的算術(shù)運(yùn)算、基本的賦值與運(yùn)算。簡(jiǎn)單數(shù)學(xué)計(jì)算>>3365+76438ans=6.5499e+003cos(18) 18的余弦值ans=0.6603abs(327) -327的絕對(duì)值ans=327在同一行上可以有多條命令,中間必須用逗號(hào)分開(kāi)。>>3562?4+6) %一行輸入多個(gè)表達(dá)式ans=243ans=360簡(jiǎn)單賦值運(yùn)算MATLAB中的變量用于存放所賦的值和運(yùn)算結(jié)果,有全局變量與局部變量之分。一個(gè)變量如果沒(méi)有被賦值,MATLAB將結(jié)果存放到預(yù)定義變量ans之中。>>x20 20x=20>>y=62?4+6) %將62?4+6賦值給變量y=360uxy; 將xy賦值給變量u一行可以只有一個(gè)表達(dá)式語(yǔ)句,也可以有多個(gè)表達(dá)式語(yǔ)句,這時(shí)語(yǔ)句間用分號(hào)(;)或逗號(hào)(,)分隔,語(yǔ)句以回車換行結(jié)束。以分號(hào)結(jié)束的語(yǔ)句執(zhí)行后不顯示運(yùn)行結(jié)果,以逗號(hào)和回車Enter鍵結(jié)束的語(yǔ)句執(zhí)行后立即顯示運(yùn)行結(jié)果。如果一條語(yǔ)句需要占用多行,這時(shí)需要使用連續(xù)符(…)。向量或矩陣的賦值和運(yùn)算一般MATLAB的變量多指向量或矩陣,向量或矩陣的賦值方式是:變量名=[變量值]。如果變量值是一個(gè)向量,數(shù)字與數(shù)字之間用空格隔開(kāi);如果變量值是一個(gè)矩陣,行的數(shù)字用空格隔開(kāi),行與行之間用分號(hào)隔開(kāi)。一個(gè)行向量A=(1,2,3,4,5)的輸入方法是:A2345 A=41 2 3 4 543〓〓3〓〓〓〓〓〓一個(gè)列向量B=〓2〓〓〓〓〓〓1〓B定義向量B=4321〓6 0 2 1〓一個(gè)3×4維矩陣C=〓-5 4 7 3〓的輸入方法是:〓〓〓3 9 8 5〓〓〓6021-54733985C0215476021-54733985函數(shù)可以用于向量或矩陣操作,例如:>>sqrtA) %求向量A的平方根向量ans=1.0000 1.4142 1.7321 2.0000 2.2361cos(B) 求列向量B的正弦向量ans=-0.6536-0.9900-0.4161>>Cans=>>Cans=C的轉(zhuǎn)置矩陣6-530492781356 MATLAB程序設(shè)計(jì)基礎(chǔ)MATLAB是一種解釋性高級(jí)程序設(shè)計(jì)語(yǔ)言,對(duì)程序中的語(yǔ)言邊解釋邊執(zhí)行。MATLAB與其他高級(jí)語(yǔ)言一樣,是由順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)組成的。MATLAB語(yǔ)句包括表達(dá)語(yǔ)句、控制語(yǔ)句、調(diào)試語(yǔ)句和空語(yǔ)句等??刂普Z(yǔ)句還包括條件、循環(huán)和一些轉(zhuǎn)移語(yǔ)句。MATLAB的語(yǔ)句鍵入后按<Enter>鍵即可執(zhí)行,因此一般也是把語(yǔ)句稱為命令。MATLAB程序的基本結(jié)構(gòu)如下,即% 清除命令定義變量逐行執(zhí)行的命令〓〓循環(huán)和轉(zhuǎn)移逐行執(zhí)行的命令〓〓end逐行執(zhí)行的命令〓〓在MATLAB中,決定程序結(jié)構(gòu)的語(yǔ)句可分為順序語(yǔ)句、條件語(yǔ)句和循環(huán)語(yǔ)句三種,每種語(yǔ)句有各自的流程控制機(jī)制,相互配合使用可以實(shí)現(xiàn)功能強(qiáng)大的程序。順序語(yǔ)句順序語(yǔ)句就是依次順序執(zhí)行程序的各條語(yǔ)句,這種語(yǔ)句不需要任何特殊的流程控制。示例代碼如下:%定義變量tt=00.14?pi;定義變量使用默認(rèn)設(shè)置進(jìn)行作圖以t為橫軸為縱軸plotty)條件語(yǔ)句條件語(yǔ)句就是程序判定所給的條件是否滿足,根據(jù)判定的結(jié)果(真或假)來(lái)執(zhí)行不同的操作。在MATLAB中有if-else-end和switch-case-otherwise兩種條件語(yǔ)句。ifelseend語(yǔ)句最簡(jiǎn)單的if-else-end結(jié)構(gòu)如下:ifexpressionstatementsend其中,expression為條件表達(dá)式,為statements要執(zhí)行的語(yǔ)句。只有當(dāng)expression結(jié)果中的所有元素都為真時(shí),statements才被執(zhí)行。當(dāng)希望在expression為真和假兩種條件下執(zhí)行不同的操作時(shí),可使用如下語(yǔ)法結(jié)構(gòu):ifexpressionstatements1elsestatements2end當(dāng)需要根據(jù)多個(gè)條件執(zhí)行不同的操作時(shí),可使用如下的復(fù)雜結(jié)構(gòu):ifexpression1statements1elseifexpression2statements2elseifexpression3statements3〓〓elsestatementsNend下面是一個(gè)簡(jiǎn)單的條件語(yǔ)句例程,其代碼如下:functiony=control(n)a=20;ifn==0y=a+1;elseifn==1y=a?1+n;elseifn==2y=a+elsey=a;endswitchcaseotherwise語(yǔ)句該語(yǔ)句與C語(yǔ)言中的選擇語(yǔ)句的功能是相同的,它通常用于條件較多而且較單一的情況,類似于一個(gè)數(shù)控的多路開(kāi)關(guān)。其語(yǔ)法結(jié)構(gòu)如下:switchexpressioncasevalue1statements1casevalue2statements2〓〓otherwisestatementsend在上述語(yǔ)法結(jié)構(gòu)中,expression必須是一個(gè)標(biāo)量或者一個(gè)字符串。程序?qū)xpression的值依次與各個(gè)case指令后的檢測(cè)值進(jìn)行比較,當(dāng)比較結(jié)果為真時(shí),就執(zhí)行該case值以下語(yǔ)句組,然后跳出該switch結(jié)構(gòu);如果所有的比較結(jié)果都為假,則執(zhí)行otherwise后的語(yǔ)句組。當(dāng)然otherwise也可以不存在。下面利用switch-case結(jié)構(gòu)給出一個(gè)簡(jiǎn)單的單位換算的例子:x=2.7;units=m;?switchunits%convertxtocentimeterscase{inch,fit}??y=x 2.54;case{feet,ft}?y=x 2.54/12;case{meter,m}y=x/100;?case{millimeter,mm}y=x 100?case{centimeter,cm}y=xotherwisedisp[UnkownUnitsunits)y=nan;endunits循環(huán)語(yǔ)句

m,第三條case語(yǔ)句被執(zhí)行,執(zhí)行結(jié)果是y=0.027。循環(huán)語(yǔ)句一般用于有規(guī)律的重復(fù)計(jì)算。被重復(fù)執(zhí)行的語(yǔ)句稱為循環(huán)體,控制循環(huán)語(yǔ)句走向的語(yǔ)句稱為循環(huán)條件。MATLAB中有for循環(huán)和while循環(huán)兩種語(yǔ)句。for循環(huán)for循環(huán)的一般格式如下:forvariable=expressionstatementsend在上述格式中,為條件數(shù)組,為要執(zhí)行的循環(huán)代碼。for循環(huán)是根據(jù)數(shù)組中的列數(shù)決定其循環(huán)執(zhí)行的次數(shù)。for循環(huán)每執(zhí)行一次,variable就取中的一列作為其值,一次執(zhí)行結(jié)束后,variable就取的下一列的值,直到的最后一列。下面是一個(gè)簡(jiǎn)單的for循環(huán)語(yǔ)句例程,其代碼及執(zhí)行結(jié)果如下:>>forii=1:10xii)=sinii?piend>>xx=0.30900.58780.80900.95111.00000.95110.80900.58780.30900.0000MAT需要注意的是,上例僅是演示for循環(huán)的用法,并不意味著是高效率的執(zhí)行代碼。在MATLAB中,若用數(shù)組方法可以解決問(wèn)題,就應(yīng)盡量避免使用for循環(huán)語(yǔ)句,因?yàn)閿?shù)組方法的執(zhí)行效率通常要比f(wàn)or循環(huán)快幾個(gè)數(shù)量級(jí)。這是由于數(shù)組方法是基于向量方法進(jìn)行的,因此又稱為向量化解決方案;而for循環(huán)是基于標(biāo)量方法進(jìn)行的,因此又稱為標(biāo)量化解決方案。以上用for循環(huán)求解sin值的問(wèn)題,如果采用向量化解決方案,其代碼及執(zhí)行結(jié)果如下:>>ii=1:10;>>x=sinii?pix=0.30900.58780.80900.95111.00000.95110.8090 0.58780.30900.0000可見(jiàn),向量化解決方案除執(zhí)行效率快幾個(gè)數(shù)量級(jí)之外,其代碼可讀性好,需要輸入的字符也少。while循環(huán)while循環(huán)的一般格式如下:whileexpressionstatementsend在上述格式中,expression為條件表達(dá),statements為要執(zhí)行的循環(huán)代碼。while循環(huán)的次數(shù)是不固定的,expression的值為真,循環(huán)體就會(huì)被執(zhí)行。一般情況下,expression的計(jì)算結(jié)果為一個(gè)標(biāo)量,但也可以是一個(gè)數(shù)組表達(dá)式,如果為一個(gè)數(shù)組,只有當(dāng)數(shù)組中的所有元素均為真時(shí)statements才會(huì)被執(zhí)行下面是一個(gè)簡(jiǎn)單的利用while循環(huán)求解MATLAB中相對(duì)浮點(diǎn)精度(eps)值的循環(huán)語(yǔ)句例程,其代碼及執(zhí)行結(jié)果如下:>>num=0;EPS=1;>> while+EPS)>1EPS=EPS/2;num=num+1;end>>num=53>>EPSEPS=2.2204e0167 MATLAB的繪圖功能在科學(xué)研究中,有時(shí)需要面對(duì)大量的原始數(shù)據(jù),人們很難直接從中找出內(nèi)在的規(guī)律,而數(shù)據(jù)圖形恰能使人們感受到數(shù)據(jù)的許多內(nèi)在本質(zhì),發(fā)現(xiàn)數(shù)據(jù)間的內(nèi)在聯(lián)系。MATLAB在數(shù)據(jù)的可視化方面提供了很強(qiáng)大的功能,它可以把數(shù)據(jù)以多種形式加以表現(xiàn)。本節(jié)將對(duì)常用的繪圖方法進(jìn)行介紹。基本形式MATLAB最基本的繪制線性平面圖形的函數(shù)為plot(),對(duì)于不同的輸入?yún)?shù),該函數(shù)有不同的形式可以實(shí)現(xiàn)不同的功能。pt(y)當(dāng)只有一個(gè)參數(shù)時(shí),plot以該參數(shù)的值為縱坐標(biāo),橫坐標(biāo)從1開(kāi)始自動(dòng)賦值為向量:[123…]或其轉(zhuǎn)置向量,向量的方向和長(zhǎng)度與參數(shù)y相同。例如:>>y=00.760.3810.860.50.11ploty)則顯示如圖1-11所示的曲線,其橫坐標(biāo)為向量[1234567]。pt(x,y)這是最常用的形式。x為橫坐標(biāo)向量,y為縱坐標(biāo)向量。例如:>>t=00.14?pi;>>y=>>plotty)將繪出如圖1-12所示的兩個(gè)周期的正弦曲線。圖1-1t(y)輸出曲線 圖1-2t(x,y)繪制的正弦曲線在使用這個(gè)函數(shù)時(shí),x和y必須方向相同(行或列),長(zhǎng)度相等,否則MATLAB將提示錯(cuò)誤信息。參數(shù)y還可以是包括多個(gè)長(zhǎng)度都和向量x相等的列向量,這樣就可以在一個(gè)圖形窗口同時(shí)繪制多條曲線,這些曲線具有相同的橫坐標(biāo)。例如:>>t=00.14?pi;>>y=sintsqrtt;>>plotty)可以繪制出如圖1-13所示的正弦和平方根兩條曲線。MATLAB自動(dòng)把不同的曲線繪制成不同的顏色,而且在黑白打印機(jī)上輸出時(shí)會(huì)以不同的灰度來(lái)表示。(3)pt(1,1,2,2,…)用這種形式也可以在同一窗口繪制多條曲線,而且每條曲線的橫坐標(biāo)可以不同,每一組向量也可以有不同的長(zhǎng)度。例如:>>1=00.14?pi;>>2=00.12?pi;>>plot1sin12cos2)可以繪制出如圖1-14所示的兩條曲線,它們的坐標(biāo)位置不同,而且長(zhǎng)度也不同。圖1-13在同一個(gè)窗口繪制正弦和平方根兩條曲線 圖1-14兩條曲線具有不同的橫坐標(biāo)圖形修飾及文本標(biāo)注MATLAB中對(duì)于同一圖形中的多條線,不僅可分別定義其線型,而且可分別選擇其色彩,其曲線繪制命令的調(diào)用格式如下:plot11選項(xiàng)122選項(xiàng)2xnyn選項(xiàng)n)其中,x1,x2,…,xn為x軸變量;y1,y2,…,yn為y軸變量,常用的繪圖選項(xiàng)見(jiàn)表1-10。表1-10常用的繪圖選項(xiàng)選 項(xiàng)含 義選 項(xiàng)含 義‘-’實(shí)線‘.’用點(diǎn)號(hào)標(biāo)出數(shù)據(jù)點(diǎn)‘--’虛線‘o’用圓圈標(biāo)出數(shù)據(jù)點(diǎn)‘:’點(diǎn)線‘x’用叉號(hào)標(biāo)出數(shù)據(jù)點(diǎn)‘-.’點(diǎn)畫(huà)線‘+’用加號(hào)標(biāo)出數(shù)據(jù)點(diǎn)‘r’紅色‘s’用小正方形標(biāo)出數(shù)據(jù)點(diǎn)‘g’綠色‘d’用菱形標(biāo)出數(shù)據(jù)點(diǎn)‘b’藍(lán)色‘∨’用下三角標(biāo)出數(shù)據(jù)點(diǎn)‘y’黃色‘∧’用上三角標(biāo)出數(shù)據(jù)點(diǎn)‘m’洋紅‘<’用左三角標(biāo)出數(shù)據(jù)點(diǎn)‘c’青色‘>’用右三角標(biāo)出數(shù)據(jù)點(diǎn)‘w’白色‘h’用六角形標(biāo)出數(shù)據(jù)點(diǎn)‘k’黑色‘p’用五角形標(biāo)出數(shù)據(jù)點(diǎn)‘?’用星號(hào)標(biāo)出數(shù)據(jù)點(diǎn)利用表中的這些選項(xiàng)可以把同一窗口中的不同曲線設(shè)置為不同的線型和顏色,可以只畫(huà)出數(shù)據(jù)點(diǎn),也可以在繪制的曲線上同時(shí)標(biāo)出數(shù)據(jù)點(diǎn)。這些選項(xiàng)可以組合使用,例如,選項(xiàng)“r”表示繪制紅色的虛線,“:bx”表示繪制藍(lán)色點(diǎn)線,同時(shí)用符號(hào)x’標(biāo)記數(shù)據(jù)點(diǎn)。例如:>>x=00.12?pi;>>plotxsinx,--rxcosx,bx)輸出曲線如圖1-15所示。圖1-15用不同的線型繪制曲線繪制完曲線后,MATLAB還提供特殊繪圖函數(shù)對(duì)屏幕上已有的圖形加注釋、題頭或坐標(biāo)網(wǎng)格。例如:>>x=00.12?piy=sinxplotxy)給出題頭>>xlabelThisisxaxis) %x軸的標(biāo)注>>ylabelThisisyaxis) %y軸的標(biāo)注grid 增加網(wǎng)格輸出帶有標(biāo)注的曲線,如圖1-16所示。圖形控制MATLAB允許將一個(gè)圖形窗口分割成n×m部分,對(duì)每一部分可以用不同的坐標(biāo)系單獨(dú)繪制圖形,窗口分割命令的調(diào)用格式如下:subplot(n,m,k)其中,n、m分別表示將這個(gè)圖形窗口分割的行列數(shù),k表示每一部分的代號(hào)。例如,想將窗口分割成4×3個(gè)部分,則左上角代號(hào)為1,右下角的代號(hào)為12,MATLAB99個(gè)窗口的分割。

圖1-16帶有標(biāo)注的plot輸出曲線MATLAB可以自動(dòng)根據(jù)繪制曲線數(shù)的范圍選擇合適的坐標(biāo)系范圍,使得曲線能夠盡可能清晰地顯示出來(lái)。如果覺(jué)得自動(dòng)選擇的坐標(biāo)還不合適,還可以采用手動(dòng)的方式來(lái)選擇新的坐標(biāo)系。調(diào)用函數(shù)格式如下:axisxminxmaxyminymax)另外,MATLAB還提供了清除圖形窗口命令clg,保持當(dāng)前窗口的圖形命令hold、放大和縮小窗口命令zoom等。特殊坐標(biāo)圖形除了基本的繪圖命令plot()外,MATLAB還具有繪制極坐標(biāo)曲線、對(duì)數(shù)坐標(biāo)曲線、條形圖和階梯圖等功能。極坐標(biāo)曲線繪制函數(shù)的調(diào)用格式如下:polar(theta,rho,選項(xiàng))其中,theta和rho分別為長(zhǎng)度相同的角度向量和幅值向量,選項(xiàng)的內(nèi)容和plot()函數(shù)基本一致。對(duì)數(shù)和半對(duì)數(shù)曲線繪制函數(shù)的調(diào)用格式分別如下:%繪制x軸為對(duì)數(shù)標(biāo)度的圖形%繪制y軸為對(duì)數(shù)標(biāo)度的圖形%繪制兩個(gè)軸均為對(duì)數(shù)標(biāo)度的圖形x()僅對(duì)橫坐標(biāo)進(jìn)行對(duì)數(shù)變換,而縱坐標(biāo)仍保持線性坐標(biāo);而y()只對(duì)縱坐標(biāo)進(jìn)行對(duì)數(shù)變換,而橫坐標(biāo)仍保持線性坐標(biāo);g()則分別對(duì)橫縱坐標(biāo)都進(jìn)行對(duì)數(shù)變換(最終得出全對(duì)數(shù)坐標(biāo)的曲線來(lái))。選項(xiàng)的定義與pt()函數(shù)完全一致。例如:x=-1:0.1:1;結(jié)果輸出的特殊曲線如圖1-17所示。圖1-17特殊曲線輸出第2章 Simulink仿真入門Simulink是基于MATLAB的圖形化仿真設(shè)計(jì)環(huán)境。確切地說(shuō),它是MATLAB提供的對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的一個(gè)軟件包。它支持線性和非線性系統(tǒng)、連續(xù)時(shí)間系統(tǒng)、離散時(shí)間系統(tǒng)、連續(xù)和離散混合系統(tǒng),而且系統(tǒng)可以是多進(jìn)程的。它使用圖形化的系統(tǒng)模塊對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行描述,并在此基礎(chǔ)上采用MATLAB的計(jì)算引擎對(duì)動(dòng)態(tài)系統(tǒng)在時(shí)域內(nèi)進(jìn)行求解。MATLAB計(jì)算引擎主要對(duì)系統(tǒng)微分方程和差分方程求解。Simulink和MATLAB是高度集成在一起的,因此,它們之間可以進(jìn)行靈活的交互操作。Simulink提供了友好的圖形用戶界面(GUI),模型由模塊組成的框圖來(lái)表示,用戶通過(guò)簡(jiǎn)單的鼠標(biāo)操作就能夠完成建模。Simulink的模塊庫(kù)為用戶提供了包括基本功能模塊和擴(kuò)展模塊在內(nèi)的多種功能模塊,在MATLAB中,可直接在Simulink環(huán)境中運(yùn)作的工具箱和模塊已覆蓋航空、航天、通信、控制、信號(hào)處理、電力系統(tǒng)、機(jī)電系統(tǒng)等諸多領(lǐng)域。隨著MATLAB的不斷升級(jí),Simulink所涉及的內(nèi)容專業(yè)性越來(lái)越強(qiáng),使用也越來(lái)越方便。目前與Simulink有關(guān)的書(shū)籍已經(jīng)很多,所以本章主要對(duì)在電力系統(tǒng)仿真中經(jīng)常使用的link知識(shí)進(jìn)行簡(jiǎn)介,如果讀者對(duì)Simulink的掌握有更深入的要求,可以閱讀其他相關(guān)書(shū)籍。1 Simulink基本操作2.1.1 Simulink由于Simulink是基于MATLAB環(huán)境基礎(chǔ)上的高性能的系統(tǒng)仿真設(shè)計(jì)平臺(tái),因此啟動(dòng)link之前必須首先運(yùn)行MATLAB,然后才能運(yùn)行Simulink并建立系統(tǒng)模型。運(yùn)行Simu-的常用方法如下:?jiǎn)螕鬗ATLAB工具欄中的Simulink按鈕 ;21所示的SimulinkLibraryBrowser窗口(Simulink模塊庫(kù)瀏覽器),2-1工具欄左邊的圖標(biāo)(建立新模型),就會(huì)彈出如圖22所示的建立新模型窗口。除以上方法外,還有如下兩種方式:1)在B的命令窗口中直接輸入“nk”命令。:“k”命令時(shí),則彈出圖2-1所示的“kyr”窗口;當(dāng)輸入的是“Sunk”命令時(shí),則彈出圖2-3所示的標(biāo)準(zhǔn)Sunk模塊庫(kù)窗口。2)在B菜單上選擇“e”→“w”→“dl”選項(xiàng)。如果要打開(kāi)已經(jīng)存在的模型文件,可用以下的方式之一:在B命令窗口直接輸入模型文件名(不要加擴(kuò)展名“.dl”),此方式要求該文件在當(dāng)前的路徑范圍內(nèi)。PAGE25第PAGE25第2章 Simulink仿真入門PAGE26MATLABPAGE26MATLAB/Simulink電力系統(tǒng)建模與仿真 第2版在B菜單上選擇“e”→“pn”選項(xiàng)。單擊圖2-1所示工具欄中的 圖標(biāo)。圖2-1Simulink模塊庫(kù)瀏覽器圖2-2新建模型窗口2.1.2 Simulink模塊庫(kù)模塊庫(kù)的作用就是提供各種基本模塊,并將它們按應(yīng)用領(lǐng)域以及功能進(jìn)行分類管理,以方便用戶查找。如圖2-1所示,Simulink模塊庫(kù)瀏覽器將各種模塊庫(kù)按樹(shù)狀結(jié)構(gòu)進(jìn)行羅列,以方便用戶快速查詢。在Simulink模塊庫(kù)瀏覽器中,模塊庫(kù)的多少取決于用戶安裝的數(shù)量,對(duì)于電力系統(tǒng)仿真來(lái)說(shuō),至少要有標(biāo)準(zhǔn)Simulink模塊庫(kù)和電力系統(tǒng)模塊庫(kù)。標(biāo)準(zhǔn)Sunk模塊庫(kù)在樹(shù)狀結(jié)構(gòu)圖窗口中名為“Sunk”。該模塊庫(kù)包含“連續(xù)系統(tǒng)模塊庫(kù)(Cnuus)”“非連續(xù)系統(tǒng)模塊庫(kù)(nnus)”“離散系統(tǒng)模塊庫(kù)(e)”“邏輯與位操作模塊庫(kù)(cndBtpns)”“查表模塊庫(kù)(upbs)”“數(shù)學(xué)運(yùn)算模塊庫(kù)(MahOperaons)”“模塊聲明庫(kù)(ModelVercaon)”“模塊通用功能庫(kù)(Model-WdeUes)”“端口和子系統(tǒng)模塊庫(kù)(Pors&Subyems)”“信號(hào)屬性模塊庫(kù)(SignalAttributes)”“信號(hào)數(shù)據(jù)流模塊庫(kù)(SignalRouting)”“接收器模塊庫(kù)(Sinks)”“信號(hào)源模塊庫(kù)(Sources)”和“用戶自定義函數(shù)庫(kù)(User-DefinedFunctions)”“附加的數(shù)學(xué)與離散函數(shù)庫(kù)(AdditionalMath&Discrete)”等多個(gè)子庫(kù),了解標(biāo)準(zhǔn)Simulink模塊庫(kù)中各模塊的作用是熟練掌握Simulink的基礎(chǔ)。其每個(gè)子庫(kù)中又包含不同的模塊,例如,單擊圖2-3中的Continuous圖標(biāo),就會(huì)在新的窗口中打開(kāi)連續(xù)系統(tǒng)(Continuous)模塊庫(kù),如圖2-4所示。圖2-3標(biāo)準(zhǔn)Simulink模塊庫(kù)窗口在Simulink中有一個(gè)“常用模塊庫(kù)(CommonlyUsedBlocks)”,如圖2-5所示。但是庫(kù)里面并沒(méi)有增加新的模塊,其中的模塊均來(lái)自于其他不同模塊子庫(kù),這主要是為了方便用戶能夠在其中調(diào)用最常用的模塊,而不必到模塊所屬的庫(kù)一個(gè)一個(gè)地尋找,這樣有利于提高建模速度。圖2-4連續(xù)系統(tǒng)模塊庫(kù)窗口圖2-5常用模塊庫(kù)1.3 Simulink模塊的操作模塊是建立Simulink模型的基本單元,因此用Simulink建模的過(guò)程,就可以簡(jiǎn)單地理解為從模塊庫(kù)中選擇合適的模塊,然后將它們連接在一起,最后進(jìn)行仿真的過(guò)程。有關(guān)模塊的操作很多,這些操作都可以用菜單功能和鼠標(biāo)來(lái)完成,這里將結(jié)合一個(gè)建立動(dòng)態(tài)系統(tǒng)模型的例子來(lái)介紹一些主要的、常用的操作。例:設(shè)系統(tǒng)的輸入為一個(gè)正弦波信號(hào)u(t)=sint,t≥0,系統(tǒng)輸出y(t)為u(t)與一個(gè)常數(shù)α的積,即:y(t)=αu(t),α≠0。要求建立系統(tǒng)模型,并以圖形方式輸出系統(tǒng)運(yùn)算結(jié)果。模塊的提取建立Simulink模型的第一步就是將需要的模塊從模型庫(kù)中提取出來(lái),并放到Simulink窗口(Simulink的仿真平臺(tái))中去。有以下兩種方法:在模塊庫(kù)瀏覽器窗口中選中需要的模塊(鼠標(biāo)單擊),選中的模塊名會(huì)反顯,然后在【Edt】菜單欄下選擇“ddountdl”選項(xiàng),這時(shí)選中的模塊就會(huì)出現(xiàn)在u-link的仿真平臺(tái)上。在模塊庫(kù)瀏覽器窗口中將光標(biāo)指針移動(dòng)到需要的模塊上,按住鼠標(biāo)左鍵將模塊拖到Simulink的仿真平臺(tái)上,然后松開(kāi)鼠標(biāo)即可,這是常用的快捷方式。建立本例的系統(tǒng)模型,需要從標(biāo)準(zhǔn)Simulink模塊庫(kù)的子庫(kù)中提取以下模塊:1)系統(tǒng)輸入模塊庫(kù)Sources中的SineWave模塊:產(chǎn)生一個(gè)正弦信號(hào)。數(shù)學(xué)庫(kù)Math中的Gain模塊:將信號(hào)乘以一個(gè)常數(shù)(即信號(hào)增益)。系統(tǒng)輸出庫(kù)Sinks中的Scope模塊:以圖形方式顯示結(jié)果。利用模塊的提取方法,選擇相應(yīng)的模塊并將其拖動(dòng)到新建的系統(tǒng)模型窗口中,如圖2-6所示。圖2-6模塊的提取模塊的選擇和移動(dòng)模塊選定操作是許多其他操作(如復(fù)制、移動(dòng)、刪除)的前導(dǎo)操作。被選定的模塊4個(gè)角處會(huì)出現(xiàn)小黑塊Handle(柄)當(dāng)要選定單個(gè)模塊時(shí)將光標(biāo)指向待選模塊,單擊即可。2-7中,“SineWave”模塊被選定。圖2-7 “SineWave”模塊被選定選定多個(gè)模塊的操作方法如下。按下Shift鍵的同時(shí),依次單擊所需選定的模塊。按下鼠標(biāo)左鍵或右鍵,同時(shí)拖曳鼠標(biāo),拉出矩形虛線框,將所有待選模塊括在其中,于是矩形里所有模塊(包括與模塊連接的信號(hào)線)均被選中。當(dāng)需要移動(dòng)某一個(gè)模塊時(shí),首先選中需要移動(dòng)的模塊,按下鼠標(biāo)左鍵將模塊拖曳至合適的地方即可。模塊的復(fù)制如果需要幾個(gè)同樣的模塊,可以右擊并拖曳基本模塊進(jìn)行復(fù)制。也可以在選中所需的模塊后【Edit菜單上的CopyPasteCtrlCCtrlV鍵完成同樣的功能。它又分為以下兩種不同情況。不同模型窗(包括庫(kù)窗口在內(nèi))之間的模塊復(fù)制方法在窗口選中模塊,將其拖至另一模型窗,釋放鼠標(biāo)。在窗口選中模塊,單擊復(fù)制”圖標(biāo),然后用鼠標(biāo)單擊目標(biāo)模型窗中需要復(fù)制的模塊的位置,最后單擊粘貼”圖標(biāo)即可。此方法也適用于同一窗口內(nèi)的復(fù)制。在同一模型窗口內(nèi)的模塊復(fù)制方法按下鼠標(biāo)右鍵,拖動(dòng)鼠標(biāo)到合適的地方,釋放鼠標(biāo)即完成。Ctrl鍵,再按下鼠標(biāo)左鍵,拖曳鼠標(biāo)至合適的地方,釋放鼠標(biāo)。2-8所示SineWave1”就是復(fù)制產(chǎn)生的模塊。模塊的刪除

圖2-8模塊的復(fù)制選中需要?jiǎng)h除的模塊,可采用以下任何一種方法完成刪除。1)按Delete鍵。2)單擊工具欄上的“剪切”圖標(biāo),將選定內(nèi)容剪除并存放于剪貼板上。模塊大小的改變首先選中該模塊,待模塊柄出現(xiàn)之后,將光標(biāo)指向適當(dāng)?shù)谋?,拖曳至適當(dāng)?shù)奈恢茫瑥亩淖兡K的大小。模塊的旋轉(zhuǎn)默認(rèn)狀態(tài)下的模塊總是輸入端在左,輸出端在右,通過(guò)選擇“Format”→“FlipBlock”選項(xiàng)將選定模塊旋轉(zhuǎn)180°;而通過(guò)選擇“Format”→“RotateBlock”選項(xiàng)可將選取模塊旋轉(zhuǎn)90°。模塊名的操作修改模塊名:?jiǎn)螕裟K名,將在原名字的四周出現(xiàn)一個(gè)編輯框。此時(shí),就可對(duì)模塊名進(jìn)行修改。當(dāng)修改完畢后,將光標(biāo)移出編輯框,單擊即結(jié)束修改。模塊名字體設(shè)置:選擇“t”→“t”選項(xiàng),打開(kāi)字體對(duì)話框并根據(jù)需要設(shè)置各項(xiàng)參數(shù)。改變模塊名的位置:?jiǎn)螕裟K名,出現(xiàn)編輯框后,可用鼠標(biāo)拖曳。如果模塊的輸入、輸出端位于其左右兩側(cè),則模塊名位置可以在模塊的上下方;如果模塊的輸入、輸出端位于其上下方,則模塊名位置可以在模塊的左右側(cè)。隱藏模塊名:?jiǎn)螕裟K后,選擇“t”→“ee”選項(xiàng),可以隱藏模塊名。與此同時(shí),菜單也變?yōu)椤皌”→“Shwe”。圖2-9即為對(duì)模塊名進(jìn)行修改后的結(jié)果。模塊間的連線

圖2-9模塊名的操作Simulink模型中的信號(hào)總是由模塊之間的連線攜帶并傳送,模塊間的連線被稱作信號(hào)線(Signallines)。在連接模塊時(shí),要注意模塊的輸入、輸出端和各模塊間的信號(hào)流向。在Sim-ulink中,模塊總是由輸入口接收信號(hào),由輸出口發(fā)送信號(hào)。水平或垂直連線的產(chǎn)生先將光標(biāo)指向連線的起點(diǎn)(即某模塊輸出端),待光標(biāo)變?yōu)槭趾?,按下左鍵并拖動(dòng)至(即某模塊輸入端)釋放鼠標(biāo)Simulink會(huì)根據(jù)起點(diǎn)和終點(diǎn)的位置自動(dòng)配置連線,或者采用直線,或者采用折線(由水平和垂直線組成)連接。在圖2-9的基礎(chǔ)上,按上述方法依次連接u(t)—a—y(t)后,如圖2-10所示。圖2-10模塊間繪制連線另一個(gè)繪制模塊之間連線的常用方法是:先單擊選中一個(gè)模塊,然后按下<Ctrl>鍵并單擊欲連接的模塊,便會(huì)在兩個(gè)模塊的輸入與輸出間自動(dòng)產(chǎn)生連線。斜連線的產(chǎn)生為了繪制斜線,必須按下Shift鍵,再像(1)那樣拖動(dòng)鼠標(biāo)至完成。連線的移動(dòng)和刪除選中待刪除的線段,并將光標(biāo)指向它,拖動(dòng)至目的地后,釋放鼠標(biāo)。要?jiǎng)h除某線段,首先選中待移動(dòng)線段,然后按<Delete>鍵。分支的產(chǎn)生在實(shí)際模型中,一個(gè)信號(hào)往往需要分送到不同模塊的輸入端,此時(shí)就需要繪制分支線(Bnhne)。分支線的繪制步驟如下:將光標(biāo)指向分支線的起點(diǎn)(即在已有信號(hào)線上的某點(diǎn))。按下鼠標(biāo)右鍵,看到光標(biāo)變?yōu)槭郑换蛘甙醋trl鍵,再按下鼠標(biāo)左鍵。拖動(dòng)鼠標(biāo),直至分支線的終點(diǎn)處。信號(hào)線的曲折在構(gòu)建框圖模型時(shí),有時(shí)需使兩模塊間的連線移動(dòng),以讓出空白,繪制其他東西。產(chǎn)生折曲”的過(guò)程是選中已存在的信號(hào)線,將光標(biāo)指向待折點(diǎn),Shift鍵,再按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo)至合適位置,釋放鼠標(biāo)。折點(diǎn)的移動(dòng)選中折線,將光標(biāo)指向待移動(dòng)的折點(diǎn)處,當(dāng)光標(biāo)變?yōu)橐粋€(gè)小圓圈時(shí),按下鼠標(biāo)左鍵并拖動(dòng)鼠標(biāo)至合適位置,釋放鼠標(biāo)。信號(hào)線寬度顯示信號(hào)線所攜帶的信號(hào)既可能是標(biāo)量也可以是向量,并且不同信號(hào)線所攜帶的向量信號(hào)的長(zhǎng)度可能互不相同。為了使信息一目了然,Simulink不但具有用粗寬線顯示向量信號(hào)線的能力,而且可以將向量長(zhǎng)度用數(shù)字標(biāo)出。操作方法:選擇“Format”→“WidenonscaleLines”選項(xiàng)和“Format”→“Signaldimensions”選項(xiàng)。在圖2-10的基礎(chǔ)上,按上述方法對(duì)模塊間的連線進(jìn)行分支與折曲操作,如圖2-11所示。圖2-11模塊間連線的分支與折曲當(dāng)按照信號(hào)的輸入、輸出關(guān)系連接各系統(tǒng)模塊之后,系統(tǒng)模型的創(chuàng)建工作就完成了。為了對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行正確的仿真與分析,必須設(shè)置正確的系統(tǒng)模塊參數(shù)與系統(tǒng)仿真參數(shù)。系統(tǒng)模塊參數(shù)的設(shè)置方法如下:雙擊系統(tǒng)模塊,打開(kāi)系統(tǒng)模塊的參數(shù)設(shè)置對(duì)話框。參數(shù)設(shè)置對(duì)話框包括系統(tǒng)模塊的簡(jiǎn)單描述、模塊的參數(shù)選項(xiàng)等信息。注意,不同的系統(tǒng)模塊的參數(shù)設(shè)置不同。在參數(shù)設(shè)置對(duì)話框中設(shè)置合適的模塊參數(shù),根據(jù)系統(tǒng)的要求在相應(yīng)的參數(shù)選項(xiàng)中設(shè)置合適的參數(shù)。2-12所示為信號(hào)增益Gain模塊的參數(shù)設(shè)置對(duì)話框。圖2-12信號(hào)增益Gain模塊的參數(shù)設(shè)置對(duì)話框當(dāng)系統(tǒng)中各模塊的參數(shù)設(shè)置完畢后,可設(shè)置合適的系統(tǒng)仿真參數(shù)以進(jìn)行動(dòng)態(tài)系統(tǒng)的仿真(在此應(yīng)用系統(tǒng)默認(rèn)的設(shè)置,具體的設(shè)置方法在2.2節(jié)中介紹)。對(duì)系統(tǒng)中各模塊參數(shù)以及系統(tǒng)仿真參數(shù)進(jìn)行正確設(shè)置之后,單擊系統(tǒng)模型編輯器上的運(yùn)行按鈕 或選擇“Sn”→“St”選項(xiàng)便可以對(duì)系統(tǒng)進(jìn)行仿真分析。仿真之后雙擊Scope模塊以顯示系統(tǒng)仿真的輸出結(jié)果,如圖2-13所示。圖2-13系統(tǒng)仿真結(jié)果輸出22 運(yùn)行仿真及參數(shù)設(shè)置簡(jiǎn)介2.1 運(yùn)行仿真在Simulink中建立起系統(tǒng)模型框圖之后,就可以用Simulink對(duì)模型進(jìn)行動(dòng)態(tài)仿真了。運(yùn)行仿真有兩種方式:Simulink模型窗口運(yùn)行方式。在MATLAB命令窗口輸入命令運(yùn)行方式。用第一種方式進(jìn)行仿真的交互性強(qiáng),操作簡(jiǎn)單明了,不需要了解這些操作所執(zhí)行的具體命令及語(yǔ)法,比第二種方式直觀,所以是較為常用的方式,但第二種方式容易進(jìn)行批處理,在有些情況下是第一種方式不能代替的(2的具體應(yīng)用請(qǐng)參見(jiàn)相關(guān)文獻(xiàn))。在Simulink模型窗口運(yùn)行方式下,設(shè)置好相關(guān)參數(shù)就可以仿真了。運(yùn)行菜單“Simulation”→“Start”命令運(yùn)行仿真,或者單擊按鈕直接運(yùn)行。模型運(yùn)行時(shí),菜單【Simulation】下的“Start”命令自動(dòng)變?yōu)椤癝top”命令,運(yùn)行按鈕變?yōu)闀和0粹o。,可選擇“n”→“e”命令,或者單擊按鈕來(lái)暫停仿真。,“n”→“p”,。2.2 仿真參數(shù)設(shè)置簡(jiǎn)介在進(jìn)行仿真前,如果不采用默認(rèn)設(shè)置,那么就必須對(duì)各種參數(shù)進(jìn)行配置??梢酝ㄟ^(guò)模型窗口菜單中的“Simulation”→“ConfigurationParameters”命令打開(kāi)設(shè)置仿真參數(shù)的對(duì)話框,也可以通過(guò)右擊模型窗口中的空白處,在彈出的快捷菜單中選擇“ConfigurationParameters”項(xiàng)打開(kāi)該對(duì)話框,如圖2-14所示。圖2-14仿真參數(shù)對(duì)話框?qū)υ捒驅(qū)?shù)分成不同類型的6組,下面對(duì)每一組中各個(gè)參數(shù)的作用和設(shè)置方法進(jìn)行簡(jiǎn)單的介紹。Solver面板該面板主要用于設(shè)置仿真開(kāi)始和結(jié)束時(shí)間,選擇解法器,并設(shè)置它的相關(guān)參數(shù),如圖2-15所示。圖2-15Solver面板仿真開(kāi)始和結(jié)束時(shí)間在“Simulationtime”欄設(shè)置。解法器在“Solveroptions”欄設(shè)置。link支持兩類解法器:固定步長(zhǎng)和可變步長(zhǎng)解法器。兩種解法器計(jì)算下一個(gè)仿真時(shí)間的方法都是在當(dāng)前仿真時(shí)間上加一個(gè)時(shí)間步長(zhǎng)。不同的是,固定步長(zhǎng)解法器的時(shí)間步長(zhǎng)是常數(shù),而可變步長(zhǎng)解法器的時(shí)間步長(zhǎng)是根據(jù)模型的動(dòng)態(tài)特性可變的。當(dāng)模型的狀態(tài)變化特別快時(shí),為了保證精度則要降低時(shí)間步長(zhǎng),反之就要增加時(shí)間步長(zhǎng)。面板中的“Type”項(xiàng)用于設(shè)置解法器的類型,當(dāng)選擇了不同的類型時(shí),Solver中可選的算法也不同,有關(guān)的各種算法在下一節(jié)中介紹。關(guān)于該面板中其他參數(shù)的設(shè)置,讀者可以查看在線幫助。DataImport/Export面板該面板主要用于向MATLAB工作空間輸出模型仿真結(jié)果數(shù)據(jù),或從MATLAB工作空間讀數(shù)據(jù)到模型,如圖2-16所示?!癓oadfromworkspace”欄:設(shè)置從MATLAB工作空間向模型導(dǎo)入數(shù)據(jù),作為輸入和系統(tǒng)的初始狀態(tài)?!癝avetoworkspace”欄:設(shè)置向MATLAB工作空間輸出仿真時(shí)間、系統(tǒng)狀態(tài)、系統(tǒng)輸出和系統(tǒng)的最終狀態(tài)。“Saveoptions”欄:設(shè)置向MATLAB工作空間輸出數(shù)據(jù)的數(shù)據(jù)格式、數(shù)據(jù)量、存儲(chǔ)數(shù)據(jù)的變量名以及生成附加輸出信號(hào)數(shù)據(jù)等。Optimization面板該面板用于設(shè)置各種選項(xiàng)來(lái)提高仿真性能和由模塊生成的代碼的性能,如圖2-17所示。“Blockreductionoptimization”選項(xiàng):設(shè)置用時(shí)鐘同步模塊來(lái)代替一組模塊,以加速模型的運(yùn)行。圖2-16DataImport/Export面板

圖2-17Optimization面板“Cnnlnputbnhun”選項(xiàng):用于優(yōu)化模型的仿真和代碼的生成。Inlineparameters”選項(xiàng):選中該選項(xiàng)使得模型的所有參數(shù)在仿真過(guò)程中不可調(diào),Simu-在仿真時(shí)就會(huì)將那些輸出僅決定于模塊參數(shù)的模塊從仿真環(huán)中移出,以加快仿真。如果用戶要想使某些變量參數(shù)可調(diào),那么可以單擊“Cnue”按鈕打開(kāi)“dlrCn-un”對(duì)話框?qū)⑦@些變量設(shè)置為全局變量。“Implementlogicsignalsasbooleandata(vs.double)”選項(xiàng):使得接收布爾值輸入的模塊只能接收布爾類型。若該項(xiàng)沒(méi)被選,則接收布爾輸入的模型也能接收double類型的輸入。Diagnostics面板該面板主要用于設(shè)置當(dāng)模塊在編譯和仿真遇到突發(fā)情況時(shí),Simulink將采用哪種診斷動(dòng)作,如圖2-18所示。該面板還將各種突發(fā)情況的出現(xiàn)原因分類列出,各類突發(fā)情況的診斷辦法設(shè)置在此不做詳細(xì)介紹。圖2-18Diagnostics面板HardwareImplementation面板該面板主要用于定義硬件的特性(包括硬件支持的字長(zhǎng)等),如圖2-19所示。這里的硬件是指將來(lái)要用來(lái)運(yùn)行模型的物理硬件。這些設(shè)置可以幫助用戶在模型實(shí)際運(yùn)行目標(biāo)系統(tǒng)(硬件)之前通過(guò)仿真檢測(cè)到以后在目標(biāo)系統(tǒng)上運(yùn)行可能會(huì)出現(xiàn)的問(wèn)題,如溢出問(wèn)題等。圖2-19HardwareImplementation面板ModelReferencing面板該面板主要用于生成目標(biāo)代碼、建立仿真以及定義當(dāng)此模型中包含其他模型或其他模型引用該模型時(shí)的一些選項(xiàng)參數(shù)值,如圖2-20所示,在此不做詳細(xì)介紹。圖2-20ModelReferencing面板23 創(chuàng)建模型的基本步驟及仿真算法簡(jiǎn)介3.1 創(chuàng)建模型的基本步驟本章的第二節(jié)向讀者展示了一個(gè)簡(jiǎn)單的Simulink仿真示例,通過(guò)該示例的學(xué)習(xí)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論