2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第1頁
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第2頁
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第3頁
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第4頁
2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版_第5頁
已閱讀5頁,還剩222頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3.2

數(shù)學(xué)模型 481.1.1概述 11.2MATLAB安裝與運行 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的計算基礎(chǔ) 10

3.3

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

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

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

……13

3.4

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

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

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

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

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

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

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

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

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

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

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

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

7.

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

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

簡介 140三相短路仿真 95

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

72 微機繼電保護算法的MATLAB暫態(tài)過程 95

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

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

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

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

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

7.3.3仿真結(jié)果 1585.3

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

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

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

……111

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

…116

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

仿真 1676.

分析中的應(yīng)用實例 120簡單電力系統(tǒng)的暫態(tài)穩(wě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簡單電力系統(tǒng)的暫態(tài)穩(wěn)定性計算53輸電線路故障行波的提取………171與仿真 123

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

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

8.

柔性輸電中的仿真實例

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

高壓直流輸電系統(tǒng)的仿真計算………………132 實例 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對系統(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)電機組的仿真實例………207靜止無功補償器(SVC)的仿真

9.1.1

207實例 188

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論