控制系統仿真技術教案_第1頁
控制系統仿真技術教案_第2頁
控制系統仿真技術教案_第3頁
控制系統仿真技術教案_第4頁
控制系統仿真技術教案_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

遇黃〃亭忱

《控制系統仿真技術》教案

編者:趙磊

機電與信息工程學院

黃山學院控制系統仿真技術課程教案

授課教師趙磊教研室自動化授課班級11自動化

授課題目MATLAB基礎授課類型■理論■實踐

課程類別口必修課■選修課口講座教學課時4課時

授課日期授課地點4317

教學目的

與要求

教學重點教學難點

教學手段

啟發式多媒體授課

教學方法(教具與

媒體使用)

思考題與

課后作業

參考資料

進一步聯系生活,形成生動教學,強化工程應用的聯系,加強

課后小結應用型課程的建設,逐步向項目驅動教學和案例教學轉化,使課程

符合“卓越計劃”培養標準的要求。

黃山學院自動控制原理課程教案紙

時間

主要教學過程

分配

教學過程:

第一講MATLAB基礎

1.1目的和意義

1.2MATLAB操作界面

&1?14>?22,eUMN3,

碑7gartgurt)?MTLAB7Wverkv?

,f\HOWlOAMf)

nd?》nd<>?

£)oa??犯

to<?tetar??4

)ch?p1_1m<SZ7

-6-7X

4c2PL6E10-

累0-?X

工作空間X

10曲-

黑X

kteMPOmm,10.3

118-

tuntflcdmdl日1

當前目錄4

命令窗口

dmve?nv((l,l).e?nv((l.I],(I21))

歷史窗口bM?(nu?.d?n)

ny4uici(nua,dwt)

t*9:0.l*9?:2*pi

ia(n<a^

(7)

(nasdm>

ycl?ia<C.s)

plat(y)

81—W-ITT+如《9—?

1c

ole

<-M-I-9下午1(h09-%

*-0?*l*9T*JOtl?—*

1)命令窗口(CommandWindow)

MATLAB的所有函數和命令都可以在命令窗口中執行。MATLAB命令窗口中的“>〉”

為命令提示符,表示MATLAB正在處于準備狀態。在命令提示符后鍵入命令(或語句)

并按下回車鍵后,MATLAB就會解釋執行所輸入的命令,并在命令后面給出計算結果。

例:命令窗口輸入cosOr/3)指令,然后按回車鍵,會出現什么結果?

2)歷史命令窗口(CommandHistory)

默認設置下歷史命令窗口會保留自安裝時起所有命令的歷史記錄,并標明使用時

間,以方便使用者的查詢。

Co**andHistory

FileEditDebugDesktopWindowHelp0

a-%—13-12-14下午9:33—%人

:…sys=tf([6030],[191710])

3%—13-12-14下午10:17—%

sys=tf([6030],[191710])

3%—13-12-14下午10:34—%

?…sys=tf([6030],[191710])

3%—14-2-24下午7:34—%

'.cos(pi/3)V

3)當前目錄窗口(CurrentDirectory)

在當前目錄窗口中可顯示或改變當前目錄,還可以顯示當前目錄下的文件,包括

文件名、文件類型、最后修改時間以及該文件的說明信息等并提供搜索功能。

CurrentDirectory-C:\Docu>entsancLSetting...[kJ回區

FileEditViewDebugDesktopWindowHelp

tsandSettings\Administrator\MyDocuments\MATLABV匕J國首A

AllFiles▲TypeSizeDateModified

Iyarijiyiibdrixi.rriIVI-IIIUiA口ii-o-1□rT4.ui

已stepchar,mM-file1KB13-127下午12:21

畫Untitled,asvEditorAutosave1KB11-4-27下午4:12

Untitled,mM-file1KB11-4-27下午4:14

Wuntitled.mdlModel24KB13-5-5上午11:42

ajuntitledl.mdlModel23KB13-5-5上午11:42

QUntitled2.mM-file1KB11-7-12下午5:15

Qxinlisanxitongmaich...EditorAutosave1KB11-8-11下午2:12

Qxinlisanxitongmaich...M-file1KB11-8-11下午2:23

<為

4)工作空間窗口(Workspace)

工作空間在MATLAB運行期間一直存在,關閉MATLAB后自動消失,當運行MATLAB

程序時,程序中的變量將被加載到工作空間中。在一個程序中的運算結果以變量的

形式保存在工作空間后,在MATLAB關閉之前該變量還可以被別的程序調用。在工作

空間窗口中將顯示所有目前保存在內存中的MATLAB變量的變量名、數據結構、字節

數以及類型,而不同的變量類型分別對應不同的變量名圖標。用戶可用命令對工作

空間中的變量進行顯示、刪除或保存等操作。

【注意】:內存變量的查閱和刪除命令

who%查看工作空間中變量的名字

whos%查看工作空間中變量的詳細信息

clear/刪除工作空間中的所有變量

clearab%刪除變量a,b

size(a)/變量的大小

length(a)%求取變量的長度,返回最大維數

例:運行下面MATLAB命令,并查看內存變量。

?>KATLAB7.6.0(R2008a)區|

FileEditDebugParallelDesktopWindowHelp

l言|也、下>9OI"H當?IDocuments\MATLAB***[..|巨

ShortcutsHowtoAddWhat,>zNew

Yourvariablesare:

abc

[?$七ayt]

G

s1z6

BytesClassAttributes

?

.e

X1X1

mJ8double

o2X3

X48double

23

48double

tartOVR.:

MATLAB7.6.0(R2008a)IS回區

FileEditDebugParallelDesktopWindowHelp

€3|M*0。|IhdmiGiMtr.tcrVMyDocwat3Vm

ShortcutsHowtoAddilWhat'sNew

ans

.23

U

m

?length(b)

--.

a

BD

wd

Mo3

「?Sit]

1.3MATLAB的幫助系統

1.3.1普通文本幫助

【命令】:help函數名/文件名外顯示相關函數/文件的幫助注釋區

o>>helpsize

A

XSIZESizeofarray.

O

3

UD=SIZE(X),forM-by-Nmatrix凡returnsthetwo-elementrowvector

3

s乂D=[M,N]containingthenumberofrowsandcolumnsinthematrix.

~

uForN-Darrays,SIZE(X)returnsa1-by^Nvectorofdimensionlengths.

3

x

.Trailingsingletondimensionsareignored.

m

(a_)

J

R

d(工

sXN]=SIZE(X)formatrixreturnsthenumberofrowsandcoluinnsin

w

x

。Xasseparateoutputvariables.

*

[Ml,M2,M3,???,MN]=SIZE(X)forN>1returnsthesizesofthefirstN

dimensionsofthearrayX.IfthenumberofoutputargumentsNdoes

notequalNDIMS(X),thenfor:

N>NDIMS(X)3SIZEreturnsonesinthe“extra“variables,i.e.,outputs

NDIMS(X)+lthroughN.

N<NDIMS(X),MNcontainstheproductofthesizesofdimensionsN

throughNDIMS(X).

M=SIZE(X,DIM)returnsthelengthofthedimensionspecified

bythescalarDIM.Forexample,SIZE(X31)returnsthenumber

ofrows.IfDIM>NDIMS(X),Mwillbe1.

WhenSIZEisappliedtoaJavaarray,thenumberofrows

returnedisthelengthoftheJavaarrayandthenumberofcolumns

isalways1.WhenSIZEisappliedtoaJavaarrayofarrays,the

resultdescribesonlythetoplevelarrayinthearrayofarrays.

1.3.2超文本幫助

IZ)回區I

FileEditViewGoFavoritesDesktopWindowHelp

HnIpgatoix..Q2M

S?*rcKCor:j|vTitle:MATLAB

Example:"plottools*ORplot*tools

5

ContentsIndexSearcKRoxultz.DemoxMATLAB

fflReleaseNotes

&◎Installation

土9MATLAB.Functions:HandleGraphics:

iAerospaceToolboxByCategory?ObjectProperties

申BioinformaticsToolboxAlphabeticalList

十CommunicationsToolbox

申。

ControlSystemToolboxWhat'sNew

電CurveFittingToolbox

+多DataAcquisitionToolbox

MATLAB?ReleaseNotes

電&DatabaseToolbox

^DatafeedToolboxSummarizesnewfeatures,bugfixes,upgradeissues,

etc.forMATLAB

申多EmbeddedMATLAB

+FiltfirCaaicnTnnlhnv-

aJ

1.4MATLAB編程基礎

基本語法和基本規則

1)變量

【變量(包括函數)命名規則】:

(1)必須以字母開頭;

(2)可以由字母、數字和下劃線混合組成;

(3)變量長度應不大于31個;

(4)字母區分大小寫。

NameValue

田A4

Iffia1

2

zBa_13

【特殊變量工

變量名稱功能變量名稱功能

ans保存最后一次的運算結果Pi圓周率

realmax最大的浮點數值realmin最小的浮點數值

j虛數單位j虛數單位

inf正無窮大NaN非數(0/0.Inf/Inf)

2)基本數據類型

數據類型(class)舉例解釋

double(雙精度)[1,2;3,4],5+6i最常用的類型

char(字符型)3hello字符數組,每個字符占16位

sparse(稀疏型)speye(5)雙精度稀疏矩陣,只存儲矩陣中的非。元素

cell(細胞型){[1,2,3;4,5,6;7,8,9]/hello\eye(2))細胞數組,數組中的每個元素可為不同類型

struct(結構型)a.day=12,a.color=,red3相當于數據庫的記錄

storage(存儲型)unit8(magic⑶)8位型,為無符號整數。最大可表示255,

3)基本語句

賦值變量=表達式

例:

>>

a=(l+sqrt(10))/2

3

”2.0811

4)關于程序編輯

(1)語句可以由分號(:)、逗號(,)或回車(Enter)結束。如果用分號結束。

則左邊的變量結果不會顯示在命令窗口,否則將顯示左側變量的值。

(2)每行可以寫多條語句,語句之間用空格、逗號、分號進行分隔。

(3)用三個或者三個以上的黑點表示“續行”,表示下一行是上一行的繼續。

?2,3;...

4,5,6]

A=

123

456

(4)用%表示注釋,%開始一直到行末的內容都是注釋,注釋內容不參與程序運行。

1.5數組(矩陣)

1.5.1一維數組

1、一維數組的創建

(1)逐個元素輸入法

JI?a=[1.0,2+2.4i3*pi]%逐個輸入數組中的元素值

a

1.00002.0000+2.400019.4248

(2)冒號運算符法

J?b=l:1:5%用國號運算符循環產生數組元素

b=

12345

【注意】:冒號運算符的格式是:a=sl:s2:s3o

其中si是起始值,S2是步距,S3是終止值。

(3)線性分隔法

1inspace(1,5s9)

s=

Columns1through7

1.00001.50002.00002.50003.00003.50004.0000

Columns8through9

4.50005.0000

【注忌】:linspace函數的調用格式為:x=linspace(a,b,,n)□

(4)對數分割法

1>>logspace(0,3,4)

ans=

J1101001000

【注意】:logspace函數的調用格式為:x=logspace(a,b,,n)

生成數組的第一個元素值為10%最后一個元素為10\數組共有n個元素,

&Ib-a乂]

這n個元素依次為=,…“-1。

2、一維數組的訪問

【方法】:(1)用下標方式訪問數組元素,下標要用一對圓括號()引起來。

(2)下標代表的是元素在數組中的位置序號。

(3)下標可以是常量,也可以是變量。

(4)可以訪問數組中的單個元素,也可以訪問數組中的某些元素,及數組

的子數組。

例:

口>>x=rand(l,5)%產生1*5的均勻分布隨機數組

x=

0.81470.90580.12700.91340.6324

?x(l)%讀數組的第一個元素

ans=

0.8147

?x([l,4])%返回數組的第1個和第4個元素構成的子數組

ans=

0.81470.9134

X

(1:3)%返回數組的錢3個元素構成的子數組

0.81470.90580.1270

?x(l)=0%數組的第1個元素賦值0

00.90580.12700.91340.6324

4

xA(end:-l:1)%獲得一維數組的倒敘數組

~o1>>

Ian

u£lS

?l口

0.63240.91340.12700.90580

1.5.2二維數組

1、二維數組的創建

【規則】:(1)整個數組必須用□括起來。

(2)數組的行與行之間用分號“:”分隔。

(3)每行之間的元素必須用逗號“,”,或者空格分隔。

(4)分隔符必須是英文字符,即在英文狀態下輸入分號、括號、方括號、

逗號等。

例:

B

E

E

O?x=[l23;4,56;2*pi,3+i0]

3

A

'X=

o

t

t

o1.00002.00003.0000

4.00005.00006.0000

6.28323.0000+l.OOOOi0

2、二維數組的訪問

例:

?A=zeros(2,4)%生成2行4列的全。數組

A

a

§A=

E

5

J

0000

-r

m0000

2

O'

M

二?A(2,4)=4%第2行4列元素賦值為4

a

V

JA=

J

0000

0004

1.5.3多維數組

1、多維數組的創建

(1)直接通過全下標方式進行元素賦值。

(2)用低維數組合成多維數組。

(3)用數組生成函數(ones/zeros/rand等)生成多維數組。

例:

工?A(2,2,3)=10鳧創建三維(2*2*3)數組

p

sA

i=

A

00

-

00

I

O

t

tA(:,:,2)=

o

a

x00

d

s

^00

O

M

A(:,:,3)=

00

010

2、多維數組的訪問

(1)可以通過全下標方式訪問。對三維數組來說,第一維下標稱為“行下標”,

第二維下標稱為“列下標”,第三維下標稱為“頁下標二

(2)數組維數通過ndims函數獲取。

(3)數組尺寸通過size函數獲取。

(4)數組的所有維中的最大長度通過length函數獲取。

>>A=ortes(2,4,3);%創建2/4*3的三維函數

>>size(A)%獲取維致A的大川、

ans

243

>>lengtK(A)為荻取數組A的最長雉數的長度

ans

et

d

s4

10

>>ndims(A)%缺得數組A

1.5.4數組操作

1、標準數組的生成

(1)ones一一生成全1數組,即數組中的元素都為1

【調用格式工

Y=ones(n)%生成n*n的全1矩陣

Y=ones(size(A))/生成和數組A同樣尺寸的全1數組

(2)zeros-----同ones函數相似

(3)rand——生成均勻分布隨機數組

(4)randn----生成正態分布隨機數組

(5)eye----產生單位矩陣

1.6數組運算與矩陣運算

【定義】:數組運算是指對數組中的每個元素進行相同的運算,注意數組運算的行

與列必須相同。數組運算可以通過MATLAB提供的運算符和數組運算函數實現。

矩陣運算是則遵循線性代數的一般規則。

兩標量間的數學運算符

運算符代數形式MATLAB形式

加號A+BA+B

減號A-B________________________A-B_______________

乘號AXBA*B

A

除號一A/B

________B__________________________________

指數dA^B

常見的數組和矩陣運電

MATLAB形式注釋

數組加法A+B數組加法和矩陣加法相同

數組減法A-B數組減法和矩陣減法相同

雙力“正在AA和B的元素逐個對應相乘.兩數組之間必須有相同

數組乘法AB的形,或其中-個是標量.

矩陣乘法A*BA和B的矩陣乘法.A的列數必須和B的行數相同.

A和B的元素逐個對應相除:

數組右除法A./BA(iJ)/B(iJ)兩數組之間必須有相同的形,或其中一個

是標量.

A和B的元素逐個對應相除:

數組左除法A.\BB(iJ)/A(iJ)兩數組之間必須有相同的形,或其中一個

是標量.

矩陣右除法A/B矩陣除法,等價于A*inv(B),inv(B)是B的逆陣

矩陣左除法A\B矩陣除法,等價于inv(B)*A,inv(A)是A的逆陣

AB中的元素逐個進行如下運算A(ijrB(ij),

數組指數運算A3BA(ij)/B(iJ)兩數組之間必須有相同的形,或其中一個

例:矩陣運算和數組運算

&|?A=[l4;916];

??Aq=sqrt(A)%數組的平方根

?印

?e皿s=

|Aq=J

H-J710

1pM1

2\1522

34(

t>>Aqm=sqrtm(A)%矩陣的平方根U>>Aq,*Aq*初蛆相乖

@Aqm=13ns-

uCM1,豈1

0.4662+0.9359i0.8860-0.2189i/14

1.9935-0.4924i3.7888+0.1152i與916

R課本34Mo

1.7多項式

多項式/5(x)=a“/+4iX"T+-+4X+ao,在MATLAB里多項式用其系數行向

量表小,表小P=[a〃,—1,…,al,aO]。

1)多項式的創建

(1)直接輸入法,例:

21?P=[l234]

sP=

1234

(2)poly(A),若A為方陣,則創建方陣A的特征多項式。

(3)poly(a),如果向量a=[bn,bn-l,…,bl,bO],則創建

(%-4)(》-偽>..(》-%)(》-2)生產的多項式的系數向量。

2)多項式運算

(1)多項式加減:+,-

(2)多項式相乘:p=conv(pl,p2)

(3)多項式相除:[q,r]=deconv(pl,p2)

【說明】:多項式pl除以多項式p2,商多項式為q,余多項式為r。

(4)多項式求導:dp=polyder(p)

(5)多項式求值:pA=polyval(p,A)

(6)多項式求根:r=roots(p)

(7)矩陣的特征多項式:p=poly(A)

例:多項式的創建和運算

>>pl=[11];鳧定義多項式pl(x)=x+l

?PSl=poly2str(pl,yx,)鳧用習慣的方式顯示多項式

PSI=

x+1

?p2=[l11];%定義多項式p2(x)=ir2+x+l

>>PS2=poly2str(p2,*x*);

>>[q,r]=deconv(p2,pl)鳧求p2/pl

q=

10

r=

001

1.8邏輯關系運算

符號運算符功能函數名

&邏輯與and

1邏輯或or

?

邏輯非not

邏輯異或xor

==等于eq

?_

不等于ne

<小于It

>大于gt

<=小于等于le

>=大于等于ge

【練習工

1、回答關于下列矩陣的有關問題

-1.1-3.23.40.6

C=0.61.1-0.63.1

1.30.65.50.0

(1)C的大小是多少?

(2)C(2,3)的值是多少?

(3)列出值為0.6的元素的下標

2、c數組的定義如下,寫出下面子數組的內容

c=

1.1000-3.20003.40000.6000

0.60001.1000-0.600

溫馨提示

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

評論

0/150

提交評論