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ù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3.2

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

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

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

3.2.2基于電氣原理圖的變壓器4 MATLAB的計算基礎 10

3.3

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

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

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

……13

3.4

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

負荷模型 623.4.1負荷的數(shù)學模型 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)設置窗口 712 運行仿真及參數(shù)設置簡介………3454潮流計算和電機初始化窗口………722.2.1運行仿真 342.2.2仿真參數(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磁滯特性設計工具窗口 765.10計算RLC線路參數(shù)窗口 78第4章 MATLAB在電力系統(tǒng)潮流計算中的應用實例 2.4.1創(chuàng)建子系統(tǒng) 402.4.2封裝子系統(tǒng)

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

計算中的應用實例 804.1.3MATPOWER應用舉例……………854.1.1MATPOWER的安4.1.3MATPOWER應用舉例……………853.

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

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

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

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

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

7.

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

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

簡介 140三相短路仿真 95

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

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

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

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

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

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

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

7.3.3仿真結果 1585.3

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

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

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

……111

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

…116

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

仿真 1676.

分析中的應用實例 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

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

7.5.4仿真結果 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)的基本結構與工作 8.3.2Simulink中的TCSC模塊介紹……196原理 1778.1.2HVDC系統(tǒng)的仿真模型描述 178

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

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

第9章 MATLAB在風力發(fā)電技術中的應用仿真 2068.2

仿真 186

1 定速風電機組的仿真實例………207靜止無功補償器(SVC)的仿真

9.1.1

207實例 188

定速風電機組的工作原理

………21SVC的基本結構與工作原理……18912定速風電機組的模型仿真………20822Simulink中的SVC模塊介紹……190

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

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

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

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

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

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

圖1-8歷史命令窗口的上下文菜單在工作空間管理窗口中可以顯示當前內存中所有的MATLAB變量的變量名、數(shù)據(jù)結構、字節(jié)數(shù)以及類型等信息,不同的變量類型分別對應不同的變量名圖標,如圖1-10所示。下面介紹“工作空間管理窗口”中部分按鈕的功能。:向工作空間添加新的變量;:打開在工作空間中選中的變量;:向工作空間中導入數(shù)據(jù)文件;:保存工作空間的變量;圖1-9當前工作目錄窗口圖1-10工作空間管理窗口:刪除工作空間的變量;:繪制工作空間的變量,可以用不同的繪制命令來繪制變量。3 MATLAB的通用命令通用命令是MATLAB中經常使用的一些命令,這些命令可以用來管理目錄、命令、函數(shù)、變量、工作空間、文件和窗口。為了更好地使用MATLAB,用戶需要熟練地掌握和理解這些命令。下面對這些命令進行介紹。常用命令常用命令的功能見表1-1。表1-1MATLAB常用命令命 令命令說明命 令命令說明cd顯示或改變當前工作目錄Load加載指定文件的變量dir顯示當前目錄或指定目錄下的文件Diary日志文件命令clc清除工作窗口中的所有顯示內容!調用DOS命令home將光標移至命令窗口的最左上角exit退出MATLAB7.0clf清除圖形窗口quit退出MATLAB7.0type顯示文件內容pack收存內存碎片clear清理內存變量hold圖形保持開關echo工作窗口信息顯示開關path顯示搜索目錄disp顯示變量或文字內容save保存內存變量到指定文件輸入內容的編輯在MATLAB命令窗口中,為了便于對輸入的內容進行編輯,MATLAB提供了一些控制光標位置和進行簡單編程的常用編輯鍵和組合鍵。熟練地掌握這些功能,可以在輸入命令的過程中起到事半功倍的效果。表1-2列出了一些常用鍵盤按鍵及說明。表1-2命令行中的鍵盤按鍵鍵盤按鍵說 明鍵盤按鍵說 明↑Ctrl+p,調用上一行HomeCtrl+a,光標置于當前行開頭↓Ctrl+n,調用下一行EndCtrl+e,光標置于當前行末尾←Ctrl+b,光標左移一個字符escCtrl+u,清除當前輸入行→Ctrl+f,光標右移一個字符delCtrl+d,刪除光標處的字符Ctrl+←Cl+l,光標左移一個單詞backspaceCtrl+h,刪除光標前的字符Ctrl+→Ctrl+r,光標右移一個單詞Alt+backspace恢復上一次的刪除標點在MATLAB語言中,一些標點符號也被賦予了特殊的意義,或代表一定的運算,具體內容見表1-3。表1-3MATLAB語言的標點標 點說 明標 點說 明:冒號,具有多種應用功能%百分號,注釋標記;分號,區(qū)分行及取消運行結果顯示!驚嘆號,調用操作系統(tǒng)運算,逗號,區(qū)分列及函數(shù)分隔符=等號,賦值標記()括號,指定運算優(yōu)先級‘單引號,字符串的標示符[]方括號,定義矩陣.小數(shù)點及對象域訪問{}大括號,構造單元數(shù)組…續(xù)行符號PAGE10MATLABPAGE10MATLAB/Simulink電力系統(tǒng)建模與仿真 第2版PAGE11第PAGE11第1章 MATLAB基礎知識14 MATLAB的計算基礎MATLAB的計算主要是數(shù)組和矩陣的計算,并且定義的數(shù)值元素是復數(shù),這是MAT-LAB的重要特點。函數(shù)是計算中必不可少的,MATLAB函數(shù)的變量不需要事先定義,它以在命令語句中首次出現(xiàn)而自然定義,這在使用中很方便。當使用MATLAB/Simulink進行仿真時,MATLAB的計算大部分已經模塊化了,但是掌握一些必要的知識和定義還是很有必要的。1.4.1 MATLAB的預定義變量MATLAB中有很多預定義變量,這些變量都是在MATLAB啟動后就已經定義好的,它們都具有特定的意義,見表1-4。表1-4MATLAB預定義變量表變量名預定義ans分配最新計算的而又沒有給定名稱的表達式的值。當在命令窗口中輸入表達式而不賦值給任何變量時,在命令窗口中會自動創(chuàng)建變量ans,并將表達式的運算結果賦給該變量。但是變量ans僅保留最近一次的計算結果eps返回機器精度,定義了1與最接近可代表的浮點數(shù)之間的差。在一些命令中也用作偏差??芍匦露x,但不能由clear命令恢復。MATLAB7.0為2.2204e016realmax返回計算機能處理的最大浮點數(shù)。MATLAB7.0為1.7977e+308realmin返回計算機能處理的最小的非零浮點數(shù)。MATLAB7.0為2.2251e308pi即π,若eps足夠小,則用16位十進制數(shù)表達其精度Inf/inf定義為1,即當分母或除數(shù)為0時返回f,不中斷執(zhí)行而繼續(xù)運算0nan定義為Notanumber”,即未定式0或∞0 ∞i/j定義為虛數(shù)單位 -1。可以為i和j定義其他值但不再是預定義常數(shù)nargin給出一個函數(shù)調用過程中輸入自變量的個數(shù)nargout給出一個函數(shù)調用過程中輸出自變量的個數(shù)computer給出本臺計算機的基本信息version給出MATLAB的版本信息1.4.2 常用運算和基本數(shù)學函數(shù)MATLAB中常用的運算有算術運算、關系運算和邏輯運算。算術運算的表達式由字母或數(shù)字用運算符號連接而成。MATLAB中常用的運算符號見表1-5。表1-5MATLAB常用運算符號表算術運算符說 明算術運算符說 明+加-減?乘.?數(shù)組乘^乘方.^數(shù)組乘方\反斜杠或左除/斜杠或右除./或.\數(shù)組除kron張量積y例如:算術表達式x^2/y-z表示x2÷y-z或x2-z,算術表達式x^2\(y-z)則表示y(y-z)÷x2或y2z。關系運算是指兩個元素之間的比較,關系運算的結果只能是0或1。0表示該關系式不成立假”;1表示該關系式成立即為真”。MATLAB中關系運算有六種見1-6。表1-6MATLAB的關系運算符表關系運算符說 明關系運算符說 明==等于~=不等于<小于>大于<=小于或等于>=大于或等于(0(假)1(真)兩個值,邏輯量的基本運算有與(&)、或(|)()三種。有時也包括異或運算(xor),異或運算可以通過三種基本運算組合而成?;具壿嬤\算的真值表見表1-7。表1-7基本邏輯運算的真值表邏輯運算A=0A=1B=0B=1B=0B=1A&B0001A|B0111~A1100xor(A,B)0110MATLAB的函數(shù)極為豐富,一些最簡單最常用的數(shù)學函數(shù)見表1-8。表1-8MATLAB常用數(shù)學函數(shù)表函 數(shù)數(shù)學含義函 數(shù)數(shù)學含義abs(x)求x的絕對值,即︱x︱,若x是復數(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)求復數(shù)z的實部cot(x)求x的余切函數(shù),x為弧度g(z)求復數(shù)z的虛部sec(x)求x的正割函數(shù),x為弧度nj(z)求復數(shù)z的共軛,即求z1.4.3 數(shù)值的輸出格式在MATLAB中,數(shù)值的屏幕輸出通常以不帶小數(shù)的整數(shù)格式或帶4位小數(shù)的浮點格式輸出。如果輸出結果中所有數(shù)值都是整數(shù),則以整數(shù)格式輸出;如果輸出結果中有一個或多個元素是非整數(shù),則以浮點數(shù)格式輸出。在MATLAB中,數(shù)值的默認存儲類型是雙精度浮點類型,存儲位寬為64位,在運行中MATLAB總是以所能達到的最高精度計算,輸出格式不會影響計算的精度。使用命令format可以改變屏幕輸出的格式,也可以通過命令窗口的下拉菜單來改變屏幕輸出的格式。有關format命令格式及其他有關的屏幕輸出命令見表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可以做任何簡單運算和復雜運算,可以直接進行算術運算,也可以利用MATLAB定義的函數(shù)進行運算;可以進行向量運算,也可以進行矩陣或張量運算。這里只介紹最簡單的算術運算、基本的賦值與運算。簡單數(shù)學計算>>3365+76438ans=6.5499e+003cos(18) 18的余弦值ans=0.6603abs(327) -327的絕對值ans=327在同一行上可以有多條命令,中間必須用逗號分開。>>3562?4+6) %一行輸入多個表達式ans=243ans=360簡單賦值運算MATLAB中的變量用于存放所賦的值和運算結果,有全局變量與局部變量之分。一個變量如果沒有被賦值,MATLAB將結果存放到預定義變量ans之中。>>x20 20x=20>>y=62?4+6) %將62?4+6賦值給變量y=360uxy; 將xy賦值給變量u一行可以只有一個表達式語句,也可以有多個表達式語句,這時語句間用分號(;)或逗號(,)分隔,語句以回車換行結束。以分號結束的語句執(zhí)行后不顯示運行結果,以逗號和回車Enter鍵結束的語句執(zhí)行后立即顯示運行結果。如果一條語句需要占用多行,這時需要使用連續(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的轉置矩陣6-530492781356 MATLAB程序設計基礎MATLAB是一種解釋性高級程序設計語言,對程序中的語言邊解釋邊執(zhí)行。MATLAB與其他高級語言一樣,是由順序、選擇和循環(huán)三種基本控制結構組成的。MATLAB語句包括表達語句、控制語句、調試語句和空語句等??刂普Z句還包括條件、循環(huán)和一些轉移語句。MATLAB的語句鍵入后按<Enter>鍵即可執(zhí)行,因此一般也是把語句稱為命令。MATLAB程序的基本結構如下,即% 清除命令定義變量逐行執(zhí)行的命令〓〓循環(huán)和轉移逐行執(zhí)行的命令〓〓end逐行執(zhí)行的命令〓〓在MATLAB中,決定程序結構的語句可分為順序語句、條件語句和循環(huán)語句三種,每種語句有各自的流程控制機制,相互配合使用可以實現(xiàn)功能強大的程序。順序語句順序語句就是依次順序執(zhí)行程序的各條語句,這種語句不需要任何特殊的流程控制。示例代碼如下:%定義變量tt=00.14?pi;定義變量使用默認設置進行作圖以t為橫軸為縱軸plotty)條件語句條件語句就是程序判定所給的條件是否滿足,根據(jù)判定的結果(真或假)來執(zhí)行不同的操作。在MATLAB中有if-else-end和switch-case-otherwise兩種條件語句。ifelseend語句最簡單的if-else-end結構如下:ifexpressionstatementsend其中,expression為條件表達式,為statements要執(zhí)行的語句。只有當expression結果中的所有元素都為真時,statements才被執(zhí)行。當希望在expression為真和假兩種條件下執(zhí)行不同的操作時,可使用如下語法結構:ifexpressionstatements1elsestatements2end當需要根據(jù)多個條件執(zhí)行不同的操作時,可使用如下的復雜結構:ifexpression1statements1elseifexpression2statements2elseifexpression3statements3〓〓elsestatementsNend下面是一個簡單的條件語句例程,其代碼如下:functiony=control(n)a=20;ifn==0y=a+1;elseifn==1y=a?1+n;elseifn==2y=a+elsey=a;endswitchcaseotherwise語句該語句與C語言中的選擇語句的功能是相同的,它通常用于條件較多而且較單一的情況,類似于一個數(shù)控的多路開關。其語法結構如下:switchexpressioncasevalue1statements1casevalue2statements2〓〓otherwisestatementsend在上述語法結構中,expression必須是一個標量或者一個字符串。程序將expression的值依次與各個case指令后的檢測值進行比較,當比較結果為真時,就執(zhí)行該case值以下語句組,然后跳出該switch結構;如果所有的比較結果都為假,則執(zhí)行otherwise后的語句組。當然otherwise也可以不存在。下面利用switch-case結構給出一個簡單的單位換算的例子: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í)行結果是y=0.027。循環(huán)語句一般用于有規(guī)律的重復計算。被重復執(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í)行結束后,variable就取的下一列的值,直到的最后一列。下面是一個簡單的for循環(huán)語句例程,其代碼及執(zhí)行結果如下:>>forii=1:10xii)=sinii?piend>>xx=0.30900.58780.80900.95111.00000.95110.80900.58780.30900.0000MAT需要注意的是,上例僅是演示for循環(huán)的用法,并不意味著是高效率的執(zhí)行代碼。在MATLAB中,若用數(shù)組方法可以解決問題,就應盡量避免使用for循環(huán)語句,因為數(shù)組方法的執(zhí)行效率通常要比for循環(huán)快幾個數(shù)量級。這是由于數(shù)組方法是基于向量方法進行的,因此又稱為向量化解決方案;而for循環(huán)是基于標量方法進行的,因此又稱為標量化解決方案。以上用for循環(huán)求解sin值的問題,如果采用向量化解決方案,其代碼及執(zhí)行結果如下:>>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的計算結果為一個標量,但也可以是一個數(shù)組表達式,如果為一個數(shù)組,只有當數(shù)組中的所有元素均為真時statements才會被執(zhí)行下面是一個簡單的利用while循環(huán)求解MATLAB中相對浮點精度(eps)值的循環(huán)語句例程,其代碼及執(zhí)行結果如下:>>num=0;EPS=1;>> while+EPS)>1EPS=EPS/2;num=num+1;end>>num=53>>EPSEPS=2.2204e0167 MATLAB的繪圖功能在科學研究中,有時需要面對大量的原始數(shù)據(jù),人們很難直接從中找出內在的規(guī)律,而數(shù)據(jù)圖形恰能使人們感受到數(shù)據(jù)的許多內在本質,發(fā)現(xiàn)數(shù)據(jù)間的內在聯(lián)系。MATLAB在數(shù)據(jù)的可視化方面提供了很強大的功能,它可以把數(shù)據(jù)以多種形式加以表現(xiàn)。本節(jié)將對常用的繪圖方法進行介紹?;拘问組ATLAB最基本的繪制線性平面圖形的函數(shù)為plot(),對于不同的輸入?yún)?shù),該函數(shù)有不同的形式可以實現(xiàn)不同的功能。pt(y)當只有一個參數(shù)時,plot以該參數(shù)的值為縱坐標,橫坐標從1開始自動賦值為向量:[123…]或其轉置向量,向量的方向和長度與參數(shù)y相同。例如:>>y=00.760.3810.860.50.11ploty)則顯示如圖1-11所示的曲線,其橫坐標為向量[1234567]。pt(x,y)這是最常用的形式。x為橫坐標向量,y為縱坐標向量。例如:>>t=00.14?pi;>>y=>>plotty)將繪出如圖1-12所示的兩個周期的正弦曲線。圖1-1t(y)輸出曲線 圖1-2t(x,y)繪制的正弦曲線在使用這個函數(shù)時,x和y必須方向相同(行或列),長度相等,否則MATLAB將提示錯誤信息。參數(shù)y還可以是包括多個長度都和向量x相等的列向量,這樣就可以在一個圖形窗口同時繪制多條曲線,這些曲線具有相同的橫坐標。例如:>>t=00.14?pi;>>y=sintsqrtt;>>plotty)可以繪制出如圖1-13所示的正弦和平方根兩條曲線。MATLAB自動把不同的曲線繪制成不同的顏色,而且在黑白打印機上輸出時會以不同的灰度來表示。(3)pt(1,1,2,2,…)用這種形式也可以在同一窗口繪制多條曲線,而且每條曲線的橫坐標可以不同,每一組向量也可以有不同的長度。例如:>>1=00.14?pi;>>2=00.12?pi;>>plot1sin12cos2)可以繪制出如圖1-14所示的兩條曲線,它們的坐標位置不同,而且長度也不同。圖1-13在同一個窗口繪制正弦和平方根兩條曲線 圖1-14兩條曲線具有不同的橫坐標圖形修飾及文本標注MATLAB中對于同一圖形中的多條線,不僅可分別定義其線型,而且可分別選擇其色彩,其曲線繪制命令的調用格式如下:plot11選項122選項2xnyn選項n)其中,x1,x2,…,xn為x軸變量;y1,y2,…,yn為y軸變量,常用的繪圖選項見表1-10。表1-10常用的繪圖選項選 項含 義選 項含 義‘-’實線‘.’用點號標出數(shù)據(jù)點‘--’虛線‘o’用圓圈標出數(shù)據(jù)點‘:’點線‘x’用叉號標出數(shù)據(jù)點‘-.’點畫線‘+’用加號標出數(shù)據(jù)點‘r’紅色‘s’用小正方形標出數(shù)據(jù)點‘g’綠色‘d’用菱形標出數(shù)據(jù)點‘b’藍色‘∨’用下三角標出數(shù)據(jù)點‘y’黃色‘∧’用上三角標出數(shù)據(jù)點‘m’洋紅‘<’用左三角標出數(shù)據(jù)點‘c’青色‘>’用右三角標出數(shù)據(jù)點‘w’白色‘h’用六角形標出數(shù)據(jù)點‘k’黑色‘p’用五角形標出數(shù)據(jù)點‘?’用星號標出數(shù)據(jù)點利用表中的這些選項可以把同一窗口中的不同曲線設置為不同的線型和顏色,可以只畫出數(shù)據(jù)點,也可以在繪制的曲線上同時標出數(shù)據(jù)點。這些選項可以組合使用,例如,選項“r”表示繪制紅色的虛線,“:bx”表示繪制藍色點線,同時用符號x’標記數(shù)據(jù)點。例如:>>x=00.12?pi;>>plotxsinx,--rxcosx,bx)輸出曲線如圖1-15所示。圖1-15用不同的線型繪制曲線繪制完曲線后,MATLAB還提供特殊繪圖函數(shù)對屏幕上已有的圖形加注釋、題頭或坐標網(wǎng)格。例如:>>x=00.12?piy=sinxplotxy)給出題頭>>xlabelThisisxaxis) %x軸的標注>>ylabelThisisyaxis) %y軸的標注grid 增加網(wǎng)格輸出帶有標注的曲線,如圖1-16所示。圖形控制MATLAB允許將一個圖形窗口分割成n×m部分,對每一部分可以用不同的坐標系單獨繪制圖形,窗口分割命令的調用格式如下:subplot(n,m,k)其中,n、m分別表示將這個圖形窗口分割的行列數(shù),k表示每一部分的代號。例如,想將窗口分割成4×3個部分,則左上角代號為1,右下角的代號為12,MATLAB99個窗口的分割。

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

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

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

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

溫馨提示

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

評論

0/150

提交評論