第三章模糊控制模糊控制的仿真詳解_第1頁(yè)
第三章模糊控制模糊控制的仿真詳解_第2頁(yè)
第三章模糊控制模糊控制的仿真詳解_第3頁(yè)
第三章模糊控制模糊控制的仿真詳解_第4頁(yè)
第三章模糊控制模糊控制的仿真詳解_第5頁(yè)
已閱讀5頁(yè),還剩73頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章模糊控制模糊控制的仿真詳解演示文稿本文檔共78頁(yè);當(dāng)前第1頁(yè);編輯于星期六\9點(diǎn)49分優(yōu)選第三章模糊控制模糊控制的仿真本文檔共78頁(yè);當(dāng)前第2頁(yè);編輯于星期六\9點(diǎn)49分二.基本功能

1.MATLAB語句形式通過例題計(jì)算歸納一些MATLAB最基本的規(guī)則和語法結(jié)構(gòu)》變量=表達(dá)式; 通過等于符號(hào)將表達(dá)式的值賦予變量。當(dāng)鍵入回車鍵時(shí),該語句被執(zhí)行。語句執(zhí)行之后,窗口自動(dòng)顯示出語句執(zhí)行的結(jié)果。如果希望結(jié)果不被顯示,則只要在語句之后加上一個(gè)分號(hào)(;)即可。此時(shí)盡管結(jié)果沒有顯示,但它依然被賦值并在MATLAB工作空間中分配了內(nèi)存。本文檔共78頁(yè);當(dāng)前第3頁(yè);編輯于星期六\9點(diǎn)49分2.MATLAB提供基本的算術(shù)運(yùn)算:

加(+)、減(-)、乘(*)、除(/)、冪次方(^),范例為:5+3,5-3,5*3,5/3,5^3其它在計(jì)算常用的功能我們用一個(gè)算式來說明。例:要計(jì)算面積Area=,半徑r=2,則可鍵入r=2;area=pi*r^2;area=12.5664本文檔共78頁(yè);當(dāng)前第4頁(yè);編輯于星期六\9點(diǎn)49分求(12+2*(7-4))/32的算術(shù)運(yùn)算結(jié)果。(1)用鍵盤在MATLAB指令窗中輸入以下內(nèi)容>>(12+2*(7-4))/3^2

(2)在上述表達(dá)式輸入完成后,按【Enter】鍵,該指令被執(zhí)行。(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果。ans=2

本文檔共78頁(yè);當(dāng)前第5頁(yè);編輯于星期六\9點(diǎn)49分我們也可以將上述指令打在同一行,以,或是;分開,例如>>r=2,area=pi*r^2

>>r=2;area=pi*r^2;請(qǐng)注意上述二式的差異,前者有計(jì)算值顯示,而后者則無。本文檔共78頁(yè);當(dāng)前第6頁(yè);編輯于星期六\9點(diǎn)49分另外一個(gè)符號(hào)注解是由%起頭,也就是說在%之后的任何文字都被視為程式的注解。注解的功能是簡(jiǎn)要的說明程式的內(nèi)容。任何可能產(chǎn)生混淆的地方都應(yīng)該加注解,適量的注解可在以后想了解程式時(shí)能節(jié)省一些不必要的時(shí)間。例如:>>r=2;%鍵入半徑

>>area=pi*r^2;%計(jì)算面積本文檔共78頁(yè);當(dāng)前第7頁(yè);編輯于星期六\9點(diǎn)49分三、變量和數(shù)值顯示格式

1、變量(1)變量名稱MATLAB對(duì)使用變量名稱的規(guī)定:變量名稱的英文大小寫是有區(qū)別的(apple,Apple,AppLe,三個(gè)變量不同)。變量的長(zhǎng)度上限為31個(gè)字元。變量名的第一個(gè)字必須是一英文字,隨后可以摻雜英文字、數(shù)字或是底線。變量中不能包含有標(biāo)點(diǎn)符號(hào)。本文檔共78頁(yè);當(dāng)前第8頁(yè);編輯于星期六\9點(diǎn)49分(2)一些特殊的變量

以下列出MATLAB所定義的特別變量及其意義ans:用于結(jié)果的缺省變量名i或j:虛數(shù)單位pi:內(nèi)建的π值

nargin:函數(shù)的輸入變量個(gè)數(shù)eps:MATLAB定義的正的極小值=2.2204e-16nargout:函數(shù)的輸出變量個(gè)數(shù)inf:∞值,無窮大realmin:最小正實(shí)數(shù)realmax:最大正實(shí)數(shù)nan:無法定義一個(gè)數(shù)目,不定量本文檔共78頁(yè);當(dāng)前第9頁(yè);編輯于星期六\9點(diǎn)49分(3)變量操作在命令窗口中,同時(shí)存儲(chǔ)著輸入的命令和創(chuàng)建的所有變量值,它們可以在任何需要的時(shí)候被調(diào)用。如要察看變量a的值,只需要在命令窗口中輸入變量的名稱即可:》a2、數(shù)值顯示格式任何MATLAB的語句的執(zhí)行結(jié)果都可以在屏幕上顯示,同時(shí)賦值給指定的變量,沒有指定變量時(shí),賦值給一個(gè)特殊的變量ans,數(shù)據(jù)的顯示格式由format命令控制。format只是影響結(jié)果的顯示,不影響其計(jì)算與存儲(chǔ);MATLAB總是以雙字長(zhǎng)浮點(diǎn)數(shù)(雙精度)來執(zhí)行所有的運(yùn)算。本文檔共78頁(yè);當(dāng)前第10頁(yè);編輯于星期六\9點(diǎn)49分MATLAB可以將計(jì)算結(jié)果以不同的精確度的數(shù)字格式顯示,我們可以直接在指令視窗鍵入以下的各個(gè)數(shù)字顯示格式的指令,以π值為例:>>pians=3.1416>>formatlong>>pi>>formatshorte>>pians=3.1416e+000本文檔共78頁(yè);當(dāng)前第11頁(yè);編輯于星期六\9點(diǎn)49分如果結(jié)果為整數(shù),則顯示沒有小數(shù);如果結(jié)果不是整數(shù),則輸出形式有:本文檔共78頁(yè);當(dāng)前第12頁(yè);編輯于星期六\9點(diǎn)49分四、簡(jiǎn)單的數(shù)學(xué)運(yùn)算(例exp02_01.m)1、常用的數(shù)學(xué)運(yùn)算符+,-,*(乘),/(左除),\(右除),^(冪)在運(yùn)算式中,MATLAB通常不需要考慮空格;多條命令可以放在一行中,它們之間需要用分號(hào)隔開;逗號(hào)告訴MATLAB顯示結(jié)果,而分號(hào)則禁止結(jié)果顯示。2、常用數(shù)學(xué)函數(shù)abs,sin,cos,tan,sqrt,exp,imag,real,sign,log,log10,conj,inv等

abs——取x的絕對(duì)值,例如:x=-4;y=abs(x)y=4本文檔共78頁(yè);當(dāng)前第13頁(yè);編輯于星期六\9點(diǎn)49分sin——取x的正弦值cos——取x的余弦值tan——取x的正切值sqrt——對(duì)x開平方exp——取x的自然指數(shù)log——自然對(duì)數(shù)ln(x)log10——log10(x)

x+yi或x+yj——復(fù)數(shù)imag——復(fù)數(shù)的虛部real——復(fù)數(shù)的實(shí)部angle——復(fù)數(shù)的相角conj——共扼復(fù)數(shù)min(x)——向量的最小值max(x)——向量的最大值mean(x)——向量的平均值sum(x)——向量的總和sort(x)——向量的排序median(x)——每個(gè)列向量的中位數(shù)inv——矩陣的逆本文檔共78頁(yè);當(dāng)前第14頁(yè);編輯于星期六\9點(diǎn)49分五、MATLAB的工作空間MATLAB的工作空間包含了一組可以在命令窗口中調(diào)整(調(diào)用)的參數(shù)clear:清除工作空間中所有的變量clear變量名:清除指定的變量clc:清除MATLAB命令窗口中所有的信息quit或exit:退出工作空間本文檔共78頁(yè);當(dāng)前第15頁(yè);編輯于星期六\9點(diǎn)49分六、使用幫助1、help命令,在命令窗口中顯示help線上說明MATLAB的所有函數(shù)都是以邏輯群組方式進(jìn)行組織的,而MATLAB的目錄結(jié)構(gòu)就是以這些群組方式來編排的。helpmatfun:矩陣函數(shù)-數(shù)值線性代數(shù)helpgeneral:通用命令helpgraphics:通用圖形函數(shù)helpelfun:基本的數(shù)學(xué)函數(shù)helpelmat:基本矩陣和矩陣操作helpdatafun:數(shù)據(jù)分析和傅立葉變換函數(shù)helpops:操作符和特殊字符本文檔共78頁(yè);當(dāng)前第16頁(yè);編輯于星期六\9點(diǎn)49分helppolyfun:多項(xiàng)式和內(nèi)插函數(shù)helplang:語言結(jié)構(gòu)和調(diào)試helpstrfun:字符串函數(shù)helpcontrol:控制系統(tǒng)工具箱函數(shù)2、helpwin:幫助窗口3、helpdesk:幫助桌面,瀏覽器模式4、lookfor命令:返回包含指定關(guān)鍵詞的那些項(xiàng)5、demo:打開示例窗口本文檔共78頁(yè);當(dāng)前第17頁(yè);編輯于星期六\9點(diǎn)49分七.其它功能1.用↑↓二個(gè)游標(biāo)鍵可以將所下過的指令叫回來重覆使用。按下↑則前一次指令重新出現(xiàn),之后再按Enter鍵,即再執(zhí)行前一次的指令。而↓鍵的功用則是往后執(zhí)行指令。2.在鍵盤上的幾個(gè)鍵如→,←,Delete等,其功能則顯而易見,試用即知無須多加說明。本文檔共78頁(yè);當(dāng)前第18頁(yè);編輯于星期六\9點(diǎn)49分3.Ctrl-C(即同時(shí)按Ctrl及C二個(gè)鍵)可以用來中止執(zhí)行中的MATLAB的工作。4.命令窗口的分頁(yè)輸出

moreoff:不允許分頁(yè)moreon:允許分頁(yè)more(n):指定每頁(yè)輸出的行數(shù)回車鍵前進(jìn)一行空格鍵顯示下一頁(yè)q鍵結(jié)束當(dāng)前顯示本文檔共78頁(yè);當(dāng)前第19頁(yè);編輯于星期六\9點(diǎn)49分MATLAB的運(yùn)算事實(shí)上是以陣列(array)及矩陣(matrix)方式在做運(yùn)算,而這二者在MATLAB的基本運(yùn)算性質(zhì)不同,陣列強(qiáng)調(diào)元素對(duì)元素的運(yùn)算,而矩陣則采用線性代數(shù)的運(yùn)算方式。宣告一變數(shù)為陣列或是矩陣時(shí),如果是要個(gè)別鍵入元素,須用中括號(hào)[]將元素置于其中。陣列為一維元素所構(gòu)成,而矩陣為多維元素所組成,例如:一、簡(jiǎn)易陣列5.2MATLAB陣列與矩陣>>x=[123]%一維1x3陣列>>x=[123;456]%二維2x3矩陣,以;區(qū)隔各行的元素>>x=[123%二維2x3矩陣,各行的元素分二行鍵入456]本文檔共78頁(yè);當(dāng)前第20頁(yè);編輯于星期六\9點(diǎn)49分假設(shè)要計(jì)算y=sin(x),x=0,0.2π,0.4π,...,π,即可用陣列方式運(yùn)算,例如>>x=[00.2*pi0.4*pi0.6*pi0.8*pipi]%注意陣列內(nèi)也可作運(yùn)算x=00.62831.25661.88502.51333.1416>>y=sin(x)y=00.58780.95110.95110.58780.0000本文檔共78頁(yè);當(dāng)前第21頁(yè);編輯于星期六\9點(diǎn)49分要找出陣列的某個(gè)元素或數(shù)個(gè)元素,可參考以下的例子>>x(3)%第三個(gè)x的元素ans=1.2566>>y(5)%第五個(gè)y的元素ans=0.5878>>x(1:5)%列出第一到第五個(gè)x的元素ans=00.62831.25661.88502.5133

本文檔共78頁(yè);當(dāng)前第22頁(yè);編輯于星期六\9點(diǎn)49分>>y(3:-1:1)%列出第三到第一個(gè)y的元素,3為起始值,1為終止值,-1為增量ans=0.95110.58780>>x(2:2:6)%列出第二到第六個(gè)x的元素,2為起始值,6為終止值,2為增量ans=0.62831.88503.1416>>y([4251])%列出y元素,排列元素依序?yàn)樵瓉韞陣列的4,2,5,1個(gè)ans=0.95110.58780.58780本文檔共78頁(yè);當(dāng)前第23頁(yè);編輯于星期六\9點(diǎn)49分1.建立陣列

前一節(jié)提到陣列產(chǎn)生的方式須個(gè)別鍵入其元素,這方法只適用于陣列元素很少時(shí)。如果要建立的陣列的元素多達(dá)數(shù)百個(gè),則須采用以下幾種方式>>x=(0:0.02:1)%以:區(qū)隔起始值=0、增量值=0.02、終止值=1>>x=linspace(0,1,51)%利用linspace,以區(qū)隔起始值=0終止值=1之間的元素?cái)?shù)目=51>>x=(0:0.01:1)*pi%注意陣列外也可作運(yùn)算

本文檔共78頁(yè);當(dāng)前第24頁(yè);編輯于星期六\9點(diǎn)49分>>a=1:5,b=1:2:9%這二種方式更直接a=

12345

b=

13579

>>c=[ba]%可利用先前建立的陣列a及陣列b,組成新陣列c=

1357912345

>>d=[b(1:2:5)101]%由陣列b的三個(gè)元素再加上三個(gè)元素組成d=

159101

本文檔共78頁(yè);當(dāng)前第25頁(yè);編輯于星期六\9點(diǎn)49分2.陣列運(yùn)算以下將陣列的運(yùn)算符號(hào)及其意義列出,除了加減符號(hào)外其余的陣列運(yùn)算符號(hào)均須多加.

符號(hào)。陣列運(yùn)算功能+加-減.*乘./左除.^次方.‘轉(zhuǎn)置本文檔共78頁(yè);當(dāng)前第26頁(yè);編輯于星期六\9點(diǎn)49分>>a=1:5;a-2%從陣列a減2ans=

-10123

>>2*a-1%以2乘陣列a再減1ans=

13579

>>b=1:2:9;a+b%陣列a加陣列bans=

2581114

>>a.*b%陣列a及b中的元素與元素相乘ans=

16152845

本文檔共78頁(yè);當(dāng)前第27頁(yè);編輯于星期六\9點(diǎn)49分>>a./b%陣列a及b中的元素與元素相除ans=

1.00000.666670.60000.57140.5556

>>a.^2%陣列中的各個(gè)元素作二次方ans=

1491625

>>2.^a%以2為底,以陣列中的各個(gè)元素為次方ans=

2481632

>>b.^a%以陣列b中的各個(gè)元素為底,以陣列a中的各個(gè)元素為次方ans=

19125240159049

本文檔共78頁(yè);當(dāng)前第28頁(yè);編輯于星期六\9點(diǎn)49分>>b=a'%陣列b是陣列a的轉(zhuǎn)置結(jié)果b=

1

2

3

4

5本文檔共78頁(yè);當(dāng)前第29頁(yè);編輯于星期六\9點(diǎn)49分3.陣列運(yùn)算的特色MATLAB在許多運(yùn)算皆是以陣列為對(duì)象,即是以陣列的元素為對(duì)象。因此除了“+”,“-”這二個(gè)運(yùn)算外,其余的運(yùn)算符號(hào)(乘、除、次方)皆須加上“.”來強(qiáng)調(diào)陣列之間的運(yùn)算。以下幾個(gè)例子可以說明陣列運(yùn)算的特色。如果a,b各代表二個(gè)不同的陣列,a與b之間的運(yùn)算是元素對(duì)元素的方式,例如:a=[a1,a2,…,an]b=[b1,b2,…,bn]a.*b=[a1*b1,a2*b2,…,an*bn]a/b.=[a1/b1,a2/b2,…,an/bn]幾個(gè)例子如下:

本文檔共78頁(yè);當(dāng)前第30頁(yè);編輯于星期六\9點(diǎn)49分>>x=1.5;%x是純量>>y=exp(x^2);%exp(x^2)是純量運(yùn)算>>y1=x/y%x/y是純量運(yùn)算

>>x=1:0.1:2;%x是陣列>>y=exp(x.^2);%exp(x.^2)是陣列運(yùn)算>>y1=x./y%x./y是陣列運(yùn)算須注意純量與陣列運(yùn)算的差別,例如本文檔共78頁(yè);當(dāng)前第31頁(yè);編輯于星期六\9點(diǎn)49分>>x=2.0%x是一純量>>num=x^3-2*x^2+x-6.3;

>>den=x^2+0.05*x-3.14;

>>f=num/den>>x=1:5;%注意x是一陣列>>num=x.^3-2*x.^2+x-6.3;

>>den=x.^2+0.05*x-3.14;

>>f=num./den本文檔共78頁(yè);當(dāng)前第32頁(yè);編輯于星期六\9點(diǎn)49分1、轉(zhuǎn)置:對(duì)于實(shí)矩陣用(’)符號(hào)或(.’)求轉(zhuǎn)置結(jié)果是一樣的;然而對(duì)于含復(fù)數(shù)的矩陣,則(’)將同時(shí)對(duì)復(fù)數(shù)進(jìn)行共軛處理,而(.’)則只是將其排列形式進(jìn)行轉(zhuǎn)置。》a=[123;456]'a=142536》a=[123;456].'a=142536》b=[1+2i2-7i]'b=1.0000-2.0000i2.0000+7.0000i》b=[1+2i2-7i].'b=1.0000+2.0000i2.0000-7.0000i二、矩陣的運(yùn)算本文檔共78頁(yè);當(dāng)前第33頁(yè);編輯于星期六\9點(diǎn)49分+;-;*;\和/;^;.*;.\;./;.^如:a=[12;34];b=[35;59]》c=a+bd=a-b》c=d=47-2-3813-2-5》a*b=[1323;2951]》a/b=[-0.500.50;3.50–1.50]%左除》a\b=[-1-1;23]%右除》a^3=[3754;81118]》a.*b=[310;1536]》a./b=[0.330.40;0.600.44]》a.\b=[3.002.50;1.672.25]》a.^3=[18;2764]2、四則運(yùn)算與冪運(yùn)算只有維數(shù)相同的矩陣才能進(jìn)行加減運(yùn)算。注意只有當(dāng)兩個(gè)矩陣中前一個(gè)矩陣的列數(shù)和后一個(gè)矩陣的行數(shù)相同時(shí),才可以進(jìn)行乘法運(yùn)算。a\b運(yùn)算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方陣才可以求冪。點(diǎn)運(yùn)算是兩個(gè)維數(shù)相同矩陣對(duì)應(yīng)元素之間的運(yùn)算,在有的教材中也定義為數(shù)組運(yùn)算。本文檔共78頁(yè);當(dāng)前第34頁(yè);編輯于星期六\9點(diǎn)49分3、逆矩陣與行列式計(jì)算求逆:inv(A);求行列式:det(A)要求矩陣必須為方陣4、矩陣超越函數(shù)在MATLAB中exp、sqrt等命令也可以作用到矩陣上,但這種運(yùn)算是定義在矩陣的單個(gè)元素上的,即分別對(duì)矩陣的每一個(gè)元素進(jìn)行計(jì)算。超越數(shù)學(xué)函數(shù)可以在函數(shù)后加上m而成為矩陣的超越函數(shù),例如:expm,sqrtm。矩陣的超越函數(shù)要求運(yùn)算矩陣為方陣。》a=[123;456;235];》b=inv(a)b=-2.33330.33331.00002.66670.3333-2.0000-0.6667-0.33331.0000》det(a)ans=-3本文檔共78頁(yè);當(dāng)前第35頁(yè);編輯于星期六\9點(diǎn)49分A(m,n):提取第m行,第n列元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子塊)。A(:):得到一個(gè)長(zhǎng)列矢量,該矢量的元素按矩陣的列進(jìn)行排列。矩陣擴(kuò)展:如果在原矩陣中一個(gè)不存在的地址位置上設(shè)定一個(gè)數(shù)(賦值),則該矩陣會(huì)自動(dòng)擴(kuò)展行列數(shù),并在該位置上添加這個(gè)數(shù),而且在其他沒有指定的位置補(bǔ)零。消除子塊:如果將矩陣的子塊賦值為空矩陣[],則相當(dāng)于消除了相應(yīng)的矩陣子塊。三、矩陣的操作1、矩陣下標(biāo):MATLAB通過確認(rèn)矩陣下標(biāo),可以對(duì)矩陣進(jìn)行插入子塊,提取子塊和重排子塊的操作。例如:本文檔共78頁(yè);當(dāng)前第36頁(yè);編輯于星期六\9點(diǎn)49分2、矩陣的大小[m,n]=size(A):返回矩陣的行列數(shù)m與nlength(A)=max(size(A)):返回行數(shù)或列數(shù)的最大值。rank(A):求矩陣的秩a=[123;345];[m,n]=size(a)m=2n=3length(a)ans=3max(size(a))ans=3rank(a)ans=2本文檔共78頁(yè);當(dāng)前第37頁(yè);編輯于星期六\9點(diǎn)49分3.一些常用的特殊矩陣單位矩陣:eye(m,n);eye(m)零矩陣:zeros(m,n);zeros(m)一矩陣:ones(m,n);ones(m)對(duì)角矩陣:對(duì)角元素向量V=[a1,a2,…,an]A=diag(V)隨機(jī)矩陣:rand(m,n)產(chǎn)生一個(gè)m×n的均勻分布的隨機(jī)矩陣本文檔共78頁(yè);當(dāng)前第38頁(yè);編輯于星期六\9點(diǎn)49分》eye(2,3)ans=100010》zeros(2,3)ans=000000》ones(2,3)ans=111111》V=[572];A=diag(V)A=500070002》eye(2)ans=1001》zeros(2)ans=0000》ones(2)ans=1111如果已知A為方陣,則V=diag(A)可以提取A的對(duì)角元素構(gòu)成向量V。本文檔共78頁(yè);當(dāng)前第39頁(yè);編輯于星期六\9點(diǎn)49分在MATLAB里,多項(xiàng)式由一個(gè)行向量表示,它的系數(shù)是按降序排列。例如,多項(xiàng)式x4-12x3+0x2+25x+116表示為:p=[1-12025116]注意:必須包括具有零系數(shù)的項(xiàng)。除非特別地辨認(rèn),否則MATLAB無法知道哪一項(xiàng)為零。四、多項(xiàng)式處理1.多項(xiàng)式的建立與表示方法本文檔共78頁(yè);當(dāng)前第40頁(yè);編輯于星期六\9點(diǎn)49分2.多項(xiàng)式的運(yùn)算(1)根找出多項(xiàng)式的根,即多項(xiàng)式為零的值,可能是許多學(xué)科共同的問題。MATLAB用函數(shù)roots找出一個(gè)多項(xiàng)式的根,并提供其它的多項(xiàng)式操作工具。?r=roots(p)r=11.74732.7028-1.2251+1.4672i-1.2251-1.4672i本文檔共78頁(yè);當(dāng)前第41頁(yè);編輯于星期六\9點(diǎn)49分(2)乘法函數(shù)conv支持多項(xiàng)式乘法(執(zhí)行兩個(gè)數(shù)組的卷積)。兩個(gè)多項(xiàng)式a(x)=x3+2x2+3x+4和b(x)=x3+4x2+9x+16的乘積: ?a=[1234];b=[14916]; ?c=conv(a,b) c=162050758464結(jié)果是c(x)=x6+6x5+20x4+50x3+75x2+84x+64。兩個(gè)以上的多項(xiàng)式的乘法需要重復(fù)使用conv。

本文檔共78頁(yè);當(dāng)前第42頁(yè);編輯于星期六\9點(diǎn)49分(3)加法對(duì)多項(xiàng)式加法,MATLAB不提供一個(gè)直接的函數(shù)。如果兩個(gè)多項(xiàng)式向量大小相同,標(biāo)準(zhǔn)的數(shù)組加法有效。把多項(xiàng)式a(x)與上面給出的b(x)相加。 ?d=a+b d=261220結(jié)果是d(x)=2x3+6x2+12x+20。當(dāng)兩個(gè)多項(xiàng)式階次不同,低階的多項(xiàng)式必須用首零填補(bǔ),使其與高階多項(xiàng)式有同樣的階次。考慮上面多項(xiàng)式c和d相加: ?e=c+[000d] e=162052819684結(jié)果是e(x)=x6+6x5+20x4+52x3+81x2+96x+84。本文檔共78頁(yè);當(dāng)前第43頁(yè);編輯于星期六\9點(diǎn)49分(4)除法在一些特殊情況,一個(gè)多項(xiàng)式需要除以另一個(gè)多項(xiàng)式。在MATLAB中,這由函數(shù)deconv完成。用上面的多項(xiàng)式b和c

?[q,r]=deconv(c,b) q=1234 r=0000000這個(gè)結(jié)果是b被c除,給出商多項(xiàng)式q和余數(shù)r,在現(xiàn)在情況下r是零,因?yàn)閎和q的乘積恰好是c。本文檔共78頁(yè);當(dāng)前第44頁(yè);編輯于星期六\9點(diǎn)49分5)導(dǎo)數(shù)由于一個(gè)多項(xiàng)式的導(dǎo)數(shù)表示簡(jiǎn)單,MATLAB為多項(xiàng)式求導(dǎo)提供了函數(shù)polyder。 ?g g=162048697244 ?h=polyder(g) h=6308014413872本文檔共78頁(yè);當(dāng)前第45頁(yè);編輯于星期六\9點(diǎn)49分5.3繪圖簡(jiǎn)介MATLAB提供了豐富的繪圖功能helpgraph2d可得到所有畫二維圖形的命令helpgraph3d可得到所有畫三維圖形的命令1、基本的二維圖形繪圖命令plot(x1,y1,option1,x2,y2,option2,…)x1,y1給出的數(shù)據(jù)分別為x,y軸坐標(biāo)值,option1為選項(xiàng)參數(shù),以逐點(diǎn)連折線的方式繪制1個(gè)二維圖形;同時(shí)類似地繪制第二個(gè)二維圖形等等。這是plot命令的完全格式,在實(shí)際應(yīng)用中可以根據(jù)需要進(jìn)行簡(jiǎn)化。如:plot(x,y);plot(x,y,option)選項(xiàng)參數(shù)option定義了圖形曲線的顏色、線型及標(biāo)示符號(hào),它由一對(duì)單引號(hào)括起來。例exp02_05.m

exp02_06.m本文檔共78頁(yè);當(dāng)前第46頁(yè);編輯于星期六\9點(diǎn)49分MATLAB中顏色和線型的選項(xiàng)本文檔共78頁(yè);當(dāng)前第47頁(yè);編輯于星期六\9點(diǎn)49分2、選擇圖像figure(1);figure(2);…;figure(n)打開不同的圖形窗口,以便繪制不同的圖形。3、gridon:在所畫出的圖形坐標(biāo)中加入柵格gridoff:除去圖形坐標(biāo)中的柵格4、holdon:把當(dāng)前圖形保持在屏幕上不變,同時(shí)允許在這個(gè)坐標(biāo)內(nèi)繪制另外一個(gè)圖形。

holdoff:使新圖覆蓋舊的圖形例exp02_08.m本文檔共78頁(yè);當(dāng)前第48頁(yè);編輯于星期六\9點(diǎn)49分6、文字標(biāo)示text(x,y,’字符串’)在圖形的指定坐標(biāo)位置(x,y)處,標(biāo)示單引號(hào)括起來的字符串。gtext(‘字符串’)利用鼠標(biāo)在圖形的某一位置標(biāo)示字符串。5、設(shè)定軸的范圍axis([xminxmaxyminymax])例exp02_09.maxis(‘equal’):將x坐標(biāo)軸和y坐標(biāo)軸的單位刻度大小調(diào)整為一樣。本文檔共78頁(yè);當(dāng)前第49頁(yè);編輯于星期六\9點(diǎn)49分title(‘字符串’)在所畫圖形的最上端顯示說明該圖形標(biāo)題的字符串。xlabel(‘字符串’),ylabel(‘字符串’)設(shè)置x,y坐標(biāo)軸的名稱。輸入特殊的文字需要用反斜杠(\)開頭。7、legend(‘字符串1’,‘字符串2’,…,‘字符串n’)在屏幕上開啟一個(gè)小視窗,然后依據(jù)繪圖命令的先后次序,用對(duì)應(yīng)的字符串區(qū)分圖形上的線。例exp02_10.m本文檔共78頁(yè);當(dāng)前第50頁(yè);編輯于星期六\9點(diǎn)49分9、semilogx:繪制以x軸為對(duì)數(shù)坐標(biāo)(以10為底),y軸為線性坐標(biāo)的半對(duì)數(shù)坐標(biāo)圖形。semilogy:繪制以y軸為對(duì)數(shù)坐標(biāo)(以10為底),x軸為線性坐標(biāo)的半對(duì)數(shù)坐標(biāo)圖形。例exp02_12.m8、subplot(mnk):分割圖形顯示窗口,m:上下分割數(shù),n:左右分割數(shù),k:子圖編號(hào)例exp02_11.m10、應(yīng)用型繪圖指令:用于數(shù)值統(tǒng)計(jì)分析或離散數(shù)據(jù)處理

bax(x,y);繪制y對(duì)應(yīng)于x的高度條形圖hist(y,x);繪制y對(duì)應(yīng)于x的個(gè)數(shù)條形圖 stairs(x,y);繪制y對(duì)應(yīng)于x的梯形圖stem(x,y);繪制y對(duì)應(yīng)于x的散點(diǎn)圖exp02_13.m本文檔共78頁(yè);當(dāng)前第51頁(yè);編輯于星期六\9點(diǎn)49分11、三維繪圖指令:一般調(diào)用格式:PLOT3(X1,Y1,Z1,S1,…XN,YN,ZN,SN)其中,XN,YN,ZN為向量或矩陣,SN為可選字符串,用來指定顏色、標(biāo)記符號(hào)或線形。Exp02_14.m作出Z=X2+Y2三維曲面,其中Exp02_15.m繪制函數(shù)三維視圖

本文檔共78頁(yè);當(dāng)前第52頁(yè);編輯于星期六\9點(diǎn)49分一、MATLBA程序的基本設(shè)計(jì)原則1、%后面的內(nèi)容是程序的注解,要善于運(yùn)用注解使程序更具可讀性。2、養(yǎng)成在主程序開頭用clear指令清除變量的習(xí)慣,以消除工作空間中其他變量對(duì)程序運(yùn)行的影響。但注意在子程序中不要用clear。3、參數(shù)值要集中放在程序的開始部分,以便維護(hù)。要充分利用MATLAB工具箱提供的指令來執(zhí)行所要進(jìn)行的運(yùn)算,在語句行之后輸入分號(hào)使其及中間結(jié)果不在屏幕上顯示,以提高執(zhí)行速度。5.4 MATLAB程序設(shè)計(jì)本文檔共78頁(yè);當(dāng)前第53頁(yè);編輯于星期六\9點(diǎn)49分4、input指令可以用來輸入一些臨時(shí)的數(shù)據(jù);而對(duì)于大量參數(shù),則通過建立一個(gè)存儲(chǔ)參數(shù)的子程序,在主程序中用子程序的名稱來調(diào)用。5、程序盡量模塊化,也就是采用主程序調(diào)用子程序的方法,將所有子程序合并在一起來執(zhí)行全部的操作。6、設(shè)置好MATLAB的工作路徑,以便程序運(yùn)行。本文檔共78頁(yè);當(dāng)前第54頁(yè);編輯于星期六\9點(diǎn)49分8、MATLAB程序的基本組成結(jié)構(gòu)%說明清除命令:清除workspace中的變量和圖形(clear,close,clc)定義變量:包括全局變量的聲明及參數(shù)值的設(shè)定逐行執(zhí)行命令:指MATLAB提供的運(yùn)算指令或工具箱………提供的專用命令控制循環(huán):包含for,ifthen,switch,while等語句逐行執(zhí)行命令………end繪圖命令:將運(yùn)算結(jié)果繪制出來當(dāng)然更復(fù)雜程序還需要調(diào)用子程序,或與simulink以及其他應(yīng)用程序結(jié)合起來。本文檔共78頁(yè);當(dāng)前第55頁(yè);編輯于星期六\9點(diǎn)49分進(jìn)入MATLAB的Editor窗口來編輯程序在編輯環(huán)境中,文字的不同顏色顯示表明文字的不同屬性。 綠色:注解;黑色:程序主體;紅色:屬性值的設(shè)定;藍(lán)色:控制流程。在運(yùn)行程序之前,必須設(shè)置好MATLAB的工作路徑,使得所要運(yùn)行的程序及運(yùn)行程序所需要的其他文件處在當(dāng)前目錄之下,只有這樣,才可以使程序得以正常運(yùn)行。否則可能導(dǎo)致程序無法執(zhí)行。通過路徑瀏覽器(pathbrowser)也可以進(jìn)行設(shè)置二、M文件的編輯及MATLAB工作路徑的設(shè)置本文檔共78頁(yè);當(dāng)前第56頁(yè);編輯于星期六\9點(diǎn)49分2、程序文件以.m格式進(jìn)行存取,包含一連串的MATLAB指令和必要的注解。需要在工作空間中創(chuàng)建并獲取變量,也就是說處理的數(shù)據(jù)為命令窗口中的數(shù)據(jù),沒有輸入?yún)?shù),也不會(huì)返回參數(shù)。程序運(yùn)行時(shí)只需在工作空間中鍵入其名稱即可。三、MATLAB的程序類型MATLAB的程序類型有三種,一種是在命令窗口下執(zhí)行的腳本M文件;另外一種是可以存取的M文件,也即程序文件;最后一種是函數(shù)(function)文件。1、腳本M文件在命令窗口中輸入并執(zhí)行,它所用的變量都要在工作空間中獲取,不需要輸入輸出參數(shù)的調(diào)用,退出MATLAB后就釋放了。本文檔共78頁(yè);當(dāng)前第57頁(yè);編輯于星期六\9點(diǎn)49分(1)函數(shù)定義行(關(guān)鍵字function)function[out1,out2,..]=filename(in1,in2,..)(2)第一行幫助行,即H1行以(%)開頭,作為lookfor指令搜索的行3、函數(shù)文件與在命令窗口中輸入命令一樣,函數(shù)接受輸入?yún)?shù),然后執(zhí)行并輸出結(jié)果。具有標(biāo)準(zhǔn)的基本結(jié)構(gòu)。本文檔共78頁(yè);當(dāng)前第58頁(yè);編輯于星期六\9點(diǎn)49分步長(zhǎng)缺省值為1,可以在正實(shí)數(shù)或負(fù)實(shí)數(shù)范圍內(nèi)任意指定。對(duì)于正數(shù),循環(huán)變量的值大于終止值時(shí),循環(huán)結(jié)束;對(duì)于負(fù)數(shù),循環(huán)變量的值小于終止值時(shí),循環(huán)結(jié)束。循環(huán)結(jié)構(gòu)可以嵌套使用。(例exp02_18.m)

四、程序流程控制1、for循環(huán)語句基本格式for循環(huán)變量=起始值:步長(zhǎng):終止值循環(huán)體end本文檔共78頁(yè);當(dāng)前第59頁(yè);編輯于星期六\9點(diǎn)49分2、while循環(huán)語句基本格式while表達(dá)式循環(huán)體end若表達(dá)式為真,則執(zhí)行循環(huán)體的內(nèi)容,執(zhí)行后再判斷表達(dá)式是否為真,若不為真,則跳出循環(huán)體,向下繼續(xù)執(zhí)行。例exp02_19.mWhile循環(huán)和for循環(huán)的區(qū)別:while循環(huán)結(jié)構(gòu)的循環(huán)體被執(zhí)行的次數(shù)不是確定的,而for結(jié)構(gòu)中循環(huán)體的執(zhí)行次數(shù)是確定的。本文檔共78頁(yè);當(dāng)前第60頁(yè);編輯于星期六\9點(diǎn)49分3、if,else,elseif語句(1)if邏輯表達(dá)式執(zhí)行語句end當(dāng)邏輯表達(dá)式的值為真時(shí),執(zhí)行該結(jié)構(gòu)中的執(zhí)行語句,執(zhí)行完之后繼續(xù)向下進(jìn)行;若為假,則跳過結(jié)構(gòu)中的內(nèi)容,向下執(zhí)行。(2)if邏輯表達(dá)式執(zhí)行語句1else執(zhí)行語句2endif-else的執(zhí)行方式為:如果邏輯表達(dá)式的值為真,則執(zhí)行語句1,然后跳過語句2,向下執(zhí)行;如果為假,則執(zhí)行語句2,然后向下執(zhí)行。本文檔共78頁(yè);當(dāng)前第61頁(yè);編輯于星期六\9點(diǎn)49分(3)if邏輯表達(dá)式1執(zhí)行語句1Elseif邏輯表達(dá)式2執(zhí)行語句2…end

if-elseif的執(zhí)行方式為:如果邏輯表達(dá)式1的值為真,則執(zhí)行語句1;如果為假,則判斷邏輯表達(dá)式2,如果為真,則執(zhí)行語句2,否則向下執(zhí)行。例exp02_20.m

exp02_21.m本文檔共78頁(yè);當(dāng)前第62頁(yè);編輯于星期六\9點(diǎn)49分所要掌握的是MATLAB語言的基本知識(shí),包括MATLAB窗口環(huán)境的使用;矩陣運(yùn)算及多項(xiàng)式處理;基本的繪圖命令;程序設(shè)計(jì)入門。MATLAB的窗口環(huán)境是基礎(chǔ)的基礎(chǔ),要求掌握語句命令的輸入、變量的使用、基本的數(shù)學(xué)函數(shù)及各種工作空間與文件管理的命令。要善于運(yùn)用help命令自學(xué)。MATLAB具有強(qiáng)大的矩陣運(yùn)算能力,要求掌握矩陣的輸入與生成,掌握矩陣的基本運(yùn)算及操作,區(qū)分帶點(diǎn)運(yùn)算與不帶點(diǎn)運(yùn)算點(diǎn)的不同;掌握多項(xiàng)式的建立與表示方法及多項(xiàng)式的基本運(yùn)算。MATLAB同樣具有強(qiáng)大的圖形處理能力,要求掌握基本的二維繪圖命令。MATLAB具有三種基本的M文件類型,要求掌握它們的區(qū)別及基本結(jié)構(gòu),熟悉程序流程控制的使用及常用的編程命令。小結(jié)本文檔共78頁(yè);當(dāng)前第63頁(yè);編輯于星期六\9點(diǎn)49分模糊邏輯控制器的基本結(jié)構(gòu)5.5模糊控制的MATLAB仿真本文檔共78頁(yè);當(dāng)前第64頁(yè);編輯于星期六\9點(diǎn)49分(1)模糊化——將輸入的精確量轉(zhuǎn)化成模糊量,其中輸入量包括外界的參考輸入,系統(tǒng)的輸出或狀態(tài)等。具體步驟:A、設(shè)置輸入變量誤差域E={e1,e2,…,en}B、將輸入量進(jìn)行尺度變換,使其變換到各自的論域范圍。C、對(duì)已經(jīng)變換到論域范圍的輸入量進(jìn)行模糊處理,使原先精確的輸入量變成模糊量,并用相應(yīng)的模糊集合來表示。本文檔共78頁(yè);當(dāng)前第65頁(yè);編輯于星期六\9點(diǎn)49分例如:設(shè)置一個(gè)水位誤差E的論域?yàn)椋篍={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}表示水位將當(dāng)前水位檢測(cè)值歸于檔內(nèi)用相應(yīng)的模糊集合來表示E={NB,NS,NZ,PS,PB}語言含義:{正大,正小,不變,負(fù)小,負(fù)大}本文檔共78頁(yè);當(dāng)前第66頁(yè);編輯于星期六\9點(diǎn)49分(2)知識(shí)庫(kù),包含了具體應(yīng)用領(lǐng)域中的知識(shí)和要求的控制目標(biāo)。它通常由數(shù)據(jù)庫(kù)和模糊控制規(guī)則庫(kù)組成:A、數(shù)據(jù)庫(kù)主要包括各語言變量的隸屬度函數(shù),尺度變換因子以及模糊空間的分級(jí)數(shù)等。B、規(guī)則庫(kù)包括了用語言變量表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論