




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ApproachtoMATLABLectureScriptChenjx2013.4.15MATLAB入門及其在DSP中應(yīng)用●MATLAB:是MATrixLABoratory,矩陣實驗室的縮寫。該軟件在大學(xué)教學(xué)中的地位相當(dāng)于設(shè)計行業(yè)的CAD軟件。是經(jīng)常進(jìn)行計算機(jī)數(shù)值運(yùn)算的自動控制、電子信息類學(xué)科人員應(yīng)該掌握的有力工具?!裉攸c:易學(xué)易用,通過幾個小時的練習(xí)就可以入門。使用方法類似于高級計算器。它是基于矩陣運(yùn)算的人機(jī)對話交互式軟件,適合于科學(xué)計算、工程計算和繪圖,其運(yùn)行結(jié)果具有很好的可視性。采用解釋方式,而不是編譯方式工作。每輸入一條語句,馬上就能夠看到該語句的結(jié)果。很符合人們的自然交流思想的習(xí)慣。(參考教材:西電,陳懷琛、樓順天他們2人均有系列書籍)MATLAB常識●基本概念:①對話語句中,每個變量默認(rèn)代表一個矩陣,變量可以有n×m個元素,特別有單個元素,數(shù)組,方陣。②每個元素都看成是復(fù)數(shù)。即實數(shù)是虛部為零的復(fù)數(shù)。③所有的運(yùn)算(加、減、乘、除、函數(shù))都對矩陣及復(fù)數(shù)有效。④矩陣的行、列(階)無需定義,由輸入數(shù)據(jù)行、列數(shù)的多少而能夠自動決定。⑤智能化繪圖功能,自動確定合適(autoscale)的坐標(biāo),可繪制三維的彩色圖形。⑥極強(qiáng)的可擴(kuò)展性,在基本軟件主體平臺上能夠外掛各種專業(yè)的模塊工具箱(Toolbox)。MATLAB工作環(huán)境●MATLAB主要工作環(huán)境(界面):①命令窗(CommandWindow)。②圖形窗(FigureWindow)。③文本編輯器(FileEditor)英文半角,區(qū)分大小寫。各窗口切換快捷鍵(shortcut):Alt+Tab?!衩畲埃喝藱C(jī)交互對話窗,可在此窗中鍵入MATLAB的各種命令。如:x1=sqrt(5),2=[13;24],y=3/x2●在命令窗中的鍵入命令行及其修改方法:↑鍵CtrL-P是調(diào)出上一行(歷史)命令,Home移行首↓鍵CtrL-N調(diào)出下一行命令,End移至該行尾。Clc是清窗口擦除。Esc鍵是恢復(fù)命令輸入行的空白狀態(tài)(清除該行)。MATLAB工作環(huán)境(續(xù))●主菜單File中的Preferences(備選):①命令窗字體、背景等設(shè)置。②文本編輯器選擇。內(nèi)建builtin自帶的與外掛兩類。③數(shù)字格式設(shè)置(NumericFormat)。命令:Formatlong(16位decimal)也稱為二進(jìn)制雙精度,MATLAB只用這一種數(shù)據(jù)格式存儲與運(yùn)算。但顯示出來為了方便習(xí)慣,則有很多種可選的顯示形式。Formatbank(2位小數(shù)的十進(jìn)制):24.83Formatshort(4位小數(shù)的十進(jìn)制):24.8325(默認(rèn)Default就是這種保留4位小數(shù)形式)Formatshorte(5位十進(jìn)制帶指數(shù)):24.832e+02Formatlonge(16位十進(jìn)制帶指數(shù)):24.83….4e+02Formathex(16位十六進(jìn)制數(shù)):形如4ab42cd102ef00daFormat+(根據(jù)結(jié)果正顯示+、或負(fù)顯示-、或零0)Formatrat(分?jǐn)?shù)近似):148/6顯示布局:Loose稀疏(默認(rèn))與Compact緊湊,緊湊布局省去許多空行,可使一屏顯示更多內(nèi)容。在preference中選formatcompact就可進(jìn)入。默認(rèn)(default)是稀疏狀態(tài)?!馜emo命令:用來演示該軟件自帶的一些典型程序。●Help:它是軟件的重要組成部分。這個命令可以看到MATLAB內(nèi)許多函數(shù)庫,以及庫中的各種函數(shù)的使用方法和例子。點Help按鈕選HelpWindow可以查閱,很重要!命令help
elfun,如果elfun(elementaryfunction)是(子目錄名)庫名,則得到該庫內(nèi)的所有函數(shù)名稱。如果elfun本身就是函數(shù)名,則得到該函數(shù)的意義與用法。例子helptan2●關(guān)閉MATLAB:鍵入exit或quit或按右上角的×?!駡?zhí)行了任何一條繪圖命令,圖形窗就自動打開,如figure命令、plot命令、subplot命令、mesh命令等?!裎募庉嬈鳎嚎砂岩唤M命令語句編輯成一個文件,它擴(kuò)展名是.M。如:Dsp1.M§1.基本語法●變量及其賦值:變量名、常量名、函數(shù)名、文件名的字符串總稱標(biāo)識符。①變量名、常量名最長19個字符。超過部分自動切掉。②函數(shù)名、文件名不超過8個字符。(DOS版,現(xiàn)在windows版已能夠管理長文件名,不受此限制,但最好能夠遵守)。③標(biāo)識符首字母必須為英文(52個,區(qū)別大小寫),可包含阿拉伯?dāng)?shù)字1234等和下劃線“_”。④機(jī)器數(shù)據(jù)格式只有一種:64bit二進(jìn)制,即雙精度十進(jìn)制(16位)?;菊Z法(續(xù))●矩陣及其元素的賦值:變量=表達(dá)式(或數(shù)),標(biāo)量看成是1×1階的矩陣。X=[-1.03sqrt(3),(1+2+3)/5*4,23;1234],方括號[]表矩陣,行元素之間用空格(建議使用)或逗號“,”分隔,矩陣內(nèi)不同的元素行用分號“;”隔開。每一句結(jié)尾用逗號“,”或Enter就立即執(zhí)行該行并顯示結(jié)果。若用分號“;”后Enter也是立即執(zhí)行,但不顯示結(jié)果?!褡兞吭赜脠@括號內(nèi)含數(shù)字來表達(dá):向量y(4),二維U(2,3),三維w(2,3,5)注意下標(biāo)號之間用逗號分隔。下標(biāo)超出則矩陣會自動擴(kuò)展,而跳空的元素自動賦0。該自動功能只對賦值功能有效。特殊語法1●矩陣及其元素的賦值:①V(5,:)=[5,4,3]指V矩陣的第5行整行對應(yīng)賦值。②N=V([2,4],[1,3])指V矩陣的第2行和第4行與第1列和第3列交差點的4個元素取出,形成新的2×2矩陣N。③V([2,4,5],:)=[];表示要從V中刪抽掉第2、第4、第5行,實際是看成對以上3行整行賦空矩陣[],它無元素,而不是0元素!本概念用于縮小已有的矩陣規(guī)模。例如:a(:,[24])=[];表示抽掉a矩陣中的第2列與第4列。④只有表達(dá)式,沒有變量。不產(chǎn)生數(shù)字結(jié)果或產(chǎn)生但不想保存它,這時軟件都默認(rèn)用臨時變量ans來存放。如a/7,如果原來a=7,那么結(jié)果是ans=1.0000。特殊語法2●復(fù)數(shù):c=3+5.2i
或c=2+3j,如果標(biāo)識符i或j此前沒有賦值使用過,就默認(rèn)為虛號,否則,說明已經(jīng)被占用了,就會出錯。這時可用cleari,j語句來恢復(fù)它的默認(rèn)特性。矩陣的復(fù)元素的實部與虛部可分別賦值:z=[1,2;6,7]+[3,4;8,9]*jconj()表示把元素的虛部反號,即僅共軛,;而符號
’指既共軛又轉(zhuǎn)置。如果只要轉(zhuǎn)置,要如何進(jìn)行?特殊語法3●變量檢查:鍵入who,顯示工作空間Workspace中所有變量名,而幾個內(nèi)定的變量:i,j,pi,eps,Inf和NaN則不顯示。鍵入whos,詳細(xì)顯示包括變量值、字節(jié)占用等多個特征參數(shù)。也可以用命令窗顯示按鈕獲得。①eps是相對浮點精度,機(jī)器能表達(dá)的極其小數(shù)。②Inf是無窮大,輸入2/0就可以得到它。NaN指非數(shù),包括0/0,0*Inf,Inf/Inf三個情況,是不確定的,引入這個概念,可以避免因為數(shù)據(jù)很?。C(jī)器零)時出現(xiàn)一般意義上的非法運(yùn)算而停機(jī)。出現(xiàn)Inf或NaN,對它們作任何運(yùn)算,結(jié)果仍然是Inf或NaN。稱IEEE規(guī)則。特殊語法4●矩陣初等運(yùn)算:加、減必須同階。測試階數(shù)[n,m]=size(w2).輸出的n是行數(shù),m為列數(shù)。當(dāng)矩陣與標(biāo)量加,是自動把標(biāo)量擴(kuò)成同階等元素矩陣。若已知是一維向量,則它的維值(長度)也可用函數(shù)n=length(x)查詢獲得。作矩陣的+、-、*、\、/運(yùn)算時,是先自動檢查階數(shù)“合格”后,再計算的。求A逆v=inv(A),就是先查det(A)=0?若接近0,稱病態(tài)矩陣ill-conditioned
。矩陣左除\、或右除/,實際分別是左乘或右乘其逆陣。線性分割函數(shù)linspace(a,b,n):在a與b之間均分n個點值。共有n-1分段。特殊語法5●矩陣的整體運(yùn)算:冪“^”,指數(shù)expm,對數(shù)logm,開方sqrtm。①冪:底數(shù)矩陣必須為方陣,指數(shù)為標(biāo)量。若指數(shù)是矩陣,則底數(shù)必須為標(biāo)量。結(jié)果都是同階的方陣。②按矩陣內(nèi)的元素做運(yùn)算的exp、log、sqrt是與上不同的。●把n×m矩陣的每個元素當(dāng)作運(yùn)算對象,成群地進(jìn)行某種運(yùn)算,稱為元素群運(yùn)算。Arrayoperations。①數(shù)組及其賦值:t=[初值:增量:終值],可得到等增量的數(shù)組。增量=1時,也可省略該項。如k=[1:10],則得到1,2,3……10的數(shù)組。也可用:t=linspace(初值,終值,點數(shù))來獲得一維數(shù)組。點數(shù)省略,則表示默認(rèn)取100點,即分成99段。特殊語法6對數(shù)分割(等比級數(shù)分割)函數(shù):L=logspace(lg初值,lg終值,點數(shù))。點數(shù)省略,則表示取50點,即分成49段。它經(jīng)常用在頻率軸表示。●為區(qū)別矩陣的整體運(yùn)算符號,元素群運(yùn)算特地用.*、.\、./、.^表示相應(yīng)運(yùn)算,當(dāng)然,要求參與群運(yùn)算的矩陣同階(標(biāo)量除外)。不同階沒有元素對應(yīng)的條件?!裨厝汉瘮?shù):除expm,logm,sqrtm這3個整體函數(shù)外,余均可以。特殊語法7●群運(yùn)算例子:x=[0:0.1:pi/4]’;[x,sin(x),cos(x),tan(x)],
●顯示語句:disp(’xsin(x)cos(x)tan(x)’)。在單引號內(nèi)的全部顯示,如果放入空格、漢字等也全部原樣顯示。disp([x,sin(x),cos(x),tan(x)])則是顯示矩陣中元素的值?!窬仃嚨脑匦蛱杋ndex排列規(guī)定:以列從上到下、從左到右計算。序號與下標(biāo)subscript是一一對應(yīng)的。N行×m列的矩陣A中元素(j,k)的序號lp=(k-1)*n+j來計算??捎肹j,k]=find(A)函數(shù)尋找A中所有非零元素的位置。也可用lp=find(A)尋找A中所有非零元素的序號。序號與下標(biāo)互換函數(shù):ind2sub與sub2ind。
特殊語法8●%是注釋符。其后的如何字符都只是說明?!襁壿嫷木仃囘\(yùn)算:以元素群運(yùn)算方式進(jìn)行,并得到一個同階的只有0或1的元素的矩陣。例如u=p|~p,得到的結(jié)果矩陣u與p同階全1。另外,增加了all全為真和any不全假兩個邏輯函數(shù),它們是按列運(yùn)算的。v=all(u),v中元素是如果該列u元素全1時為真1。v=any(u),v中元素是如果該列u元素不全0假時為真1。得到的V是個行向量?!?基本繪圖方法●MATLAB重要的特點是可視性很強(qiáng),歸功于豐富的繪圖函數(shù)及手段。在(graphics,graph2d,graph3d,specgraph)4個函數(shù)庫中?!窬€性直角坐標(biāo)中的二維曲線:plot語句:它以向量的序號為x坐標(biāo),元素值為y坐標(biāo),一一打點,各點以直線相連。系統(tǒng)自動選擇合適的坐標(biāo)比例。是一個非常有用的函數(shù)。例如:y=5*(rand(1,10)-0.5),title(‘myfirstplot’),xlabel(‘n’),ylabel(‘y’),grid?!駊lot(x,y):以x元素值為橫坐標(biāo),向量y元素值為y坐標(biāo),一一對應(yīng),各點以直線相連。此時x與y同長度?;纠L圖方法(續(xù))●線型、點型與顏色:plot(t,y,’+r’)如果加有選擇項,點型與顏色,點之間不再連線。查helpwindow中2維繪圖函數(shù)庫。標(biāo)志ymcrgbwk顏色黃品紅青紅綠藍(lán)白黑標(biāo)志.0×+-*:-.--點型實點圓圈×號+號實線星號點線點劃虛線常用繪圖函數(shù)1●多條曲線的繪制:
plot(t,[x,y,…]),長度相同,自動顏色。●hold命令:保持已繪制的圖,第二次執(zhí)行到的plot函數(shù)就會畫在其上,形成多條。holdoff
命令,是解除保留功能。畫一張圖就覆蓋掉以前的。●plot(t,y,’+r’,t1,x,’:g’,p,w,’-y’)設(shè)置了多組向量對,可加選擇點型與顏色。●plotyy(t,y,’+r’,t1,y1,’*r’)2組向量對,橫坐標(biāo)t和t1同分割,左縱坐標(biāo)y與右縱坐標(biāo)y1可不同比例。●gtext(’y’)函數(shù),用來標(biāo)注文字,由鼠標(biāo)拖動放置。常用繪圖函數(shù)2●圖形屏幕窗的控制:包括:開與關(guān),開多個圖形窗,一個窗內(nèi)多幅分圖,各分圖可取不同坐標(biāo),擦除等。figure命令:打開新的圖形窗。第一個圖形窗在執(zhí)行plot命令時會自動彈出。隨后的繪圖命令都將繪在該窗口中。如果要繪在另外窗口,用figure命令并自動編號。選擇哪個窗時,需要先執(zhí)行選擇命令figure(i),再在該窗中繪圖。否則,都繪在最后顯示的那個窗圖中。clf命令:擦除當(dāng)前圖形窗的內(nèi)容。close命令:關(guān)閉當(dāng)前圖形窗。常用繪圖函數(shù)3●subplot(n,m,p):把圖形窗分割成n×m子圖,并在第p張子圖處繪圖。輸入subplot(1,1,1)則回到全屏幕單圖形式。P的排列是“文字習(xí)慣”方向。從左到右,從上到下。axis命令:控制坐標(biāo)軸的比例與外觀大小。該命令非常豐富實用。MATLAB默認(rèn)是自動定比例尺的,鍵入axis(axis)將固定用最當(dāng)前的比例尺,鍵入axis(’auto’)則恢復(fù)自動定比功能。V=axis,該語句得到當(dāng)前圖形邊界4個參數(shù),如是3維圖則有6個參數(shù)。用axis(v)可規(guī)定圖形邊界。V是4參數(shù)或6參數(shù)向量。axis(’equal’)2軸相同同比例尺??梢哉{(diào)整圖形外觀。常用繪圖函數(shù)4●直角坐標(biāo)中其他繪圖形式:stem(t,y)是繪脈沖圖;stairs(t,y)是繪階梯圖;
bar(t,y)是繪條形圖;fill(t,y,’r’)是填充繪圖;如:title(’fill(t,y,”r”)’)注意:單引號內(nèi)的單引號要用雙引號。但顯示到圖形上還是單引號’●polar(theta,rho)命令:繪制極坐標(biāo)圖,角度是rad弧度。角度在第一個參數(shù)?!駆oglog(t,y,’+r’)命令:橫坐標(biāo)t與縱坐標(biāo)y以log10刻度?!駍emilogx(t1,y1,’*r’)命令:橫坐標(biāo)t1對數(shù)刻度,而縱坐標(biāo)y1是線性刻度。
semilogy(t1,y1,’*r’)命令:橫坐標(biāo)t1線性刻度,而縱坐標(biāo)y1是對數(shù)刻度。常用繪圖函數(shù)5●3維空間曲線plot3(x,y,z,’s’)s是線型與顏色標(biāo)識,該項可省?!窨臻g曲面繪制:mesh和surf函數(shù),它以x-y網(wǎng)格點計算z的值,繪出高度點后,各點互連以直線,成曲面。繪圖與控制命令:可查閱helpgraph3d,helpspecgraph?!駌otate3d,此命令執(zhí)行后,以鼠標(biāo)拖動3維圖形旋轉(zhuǎn)?!馽ontour命令:把曲面等高線垂直投影到x-y平面上?!耧瀳Dpie和條形bar及相量圖compass命令?!駝赢嬅頼ovie。常用繪圖函數(shù)舉例●Sa函數(shù):x=-8:0.5:8;y=x’;%x與y軸各有33個取樣點,間隔0.5。X=ones(size(y))*x;%全1列陣乘行向量x得到矩陣33×33。Y=y(tǒng)*ones(size(x));R=sqrt(X.*X+Y.*Y);%求1089個各網(wǎng)格點處到原點的距離。z=sin(R)./R;%抽樣Sa函數(shù),可以進(jìn)行旋轉(zhuǎn)觀看。mesh(z),pause%繪曲面圖。原點0/0是NaN,圖中缺掉一點。為什么?R=sqrt(X.*X+Y.*Y)+eps;%加個微小量?!?.M文件及程序調(diào)試●MATLAB有命令行和程序文件兩模式。后者是由matlab語句構(gòu)成的用戶源程序,擴(kuò)展名.m;又稱M文件,是ASCII文本??芍苯佑酶鞣N編輯軟件閱讀?!馦文件分為:主程序文件(又稱底稿)與函數(shù)文件。主程序文件(腳本)scriptfile:用戶為解決特定問題編寫的程序。函數(shù)文件:供主程序調(diào)用的通用子程序??蛇f歸。有700個基本的,幾千個專業(yè)的。關(guān)于編程用的基本語言結(jié)構(gòu),可看helplang中各種規(guī)則?!馦文件格式:%后面直到該行尾是注釋,包括漢字。M文件格式(續(xù))主程序與子程序共同使用的變量稱全局變量:用global聲明,各變量用空格分開。如globalx1y1wr…●程序編輯須是:半角英文字母和符號。建議用它自帶的編輯器較妥。它有智能提示與實時檢查功能?!馦文件名不能帶有漢字,且要存放在matlab的搜索路徑上的子目錄中。這樣就完成了程序文件的編制?!褡越ǖ奈募Auser要預(yù)先在matlab的搜索路徑上(搜索范圍)登記??梢杂妹畲吧系陌粹o完成?;騪ath?!裨诿畲爸墟I入該文件名就開始執(zhí)行該自編的程序了。調(diào)試程序用的人機(jī)交互命令1●echoon與echooff:M文件中的命令語句執(zhí)行時是不會顯示在屏幕上的。但如果加入echoon語句,則在其后要執(zhí)行每行程序前,將先顯示出來?!駊ause(n)程序執(zhí)行到此處,暫停n秒后,再繼續(xù)執(zhí)行。若不帶時間參數(shù),即pause,則一直等待至用戶按任意鍵后,才繼續(xù)執(zhí)行?!駅eyboard:程序執(zhí)行到此暫停,并顯示字符K,此時相當(dāng)于回到命令行模式,用戶可以進(jìn)行各種檢查。如要繼續(xù)執(zhí)行,則鍵入return命令。●^C是強(qiáng)行終止程序運(yùn)行。Control-C。調(diào)試程序用的人機(jī)交互命令2●X=input(’N=’)語句:程序執(zhí)行到此暫停,并顯示單引號里的內(nèi)容,此時要求用戶輸入數(shù)據(jù),數(shù)據(jù)輸入后,就繼續(xù)執(zhí)行。它也可以輸入字符串:S=input(’提示’,‘s’),把鍵入的字符串賦給S?!駎ype程序名:將顯示該程序M語言清單。很有用。●save:把workspace的內(nèi)容保存在默認(rèn)的名matlab.mat?!駍avetempxyz…:把workspace的變量x,y,z保存在文件名temp.mat中。●load:與save相對應(yīng)。函數(shù)文件(子程序)●由function
開頭,后跟的函數(shù)名必須與文件名相同。盡管它形式也是name.M?!裼休斎?、輸出的啞元變量??蛇M(jìn)行變量傳遞?!癯墙?jīng)過global聲明,子程序中的所有變量都是局部的。不保存在工作空間中?!窭樱簃ean.m。鍵入typemean。顯示:functiony=mean(x)…………例子●例子:mean.m。鍵入typemean。顯示:functiony=mean(x)%meanistogettheaverageofxwhenit’saarray。%meanistogetanaveragearraywhenxisamatrix。[m,n]=size(x);ifm==1m=n;end%dealwithanarray.y=sum(x)/m與Matlab軟件有關(guān)的常識●matlab主目錄下的各文件夾意義:●bin(二進(jìn)制子目錄),是matlab.exe主程序,windows應(yīng)用程序。●toolbox:內(nèi)有l(wèi)ocal、matlab(含21個基本函數(shù)庫)兩個文件夾。●matlabrc.m(軟件啟動時主調(diào)用M文件,它規(guī)定了搜索路徑)。●用戶自建user文件夾后,用path按鈕放入搜索域內(nèi)?!駱?biāo)識符(變量)辨認(rèn)順序:工作空間變量——內(nèi)部保留變量——擴(kuò)展名.mex的文件名——擴(kuò)展名.m的文件名。若文件名相同,只認(rèn)優(yōu)先。與Matlab軟件有關(guān)的常識●what命令:用來列出當(dāng)前目錄下全部matlab能夠識別的所有文件。包括:后綴.m的程序文本文件、后綴.mex的二進(jìn)制可執(zhí)行文件、后綴.mat的數(shù)據(jù)文件?!裨诿畲爸谢騧文件里,以!開頭的命令行是DOS或windows操作系統(tǒng)的命令,不退出matlab環(huán)境,而執(zhí)行相應(yīng)的軟件。如:!Notepad
會打開記事本?!衿聊粩?shù)據(jù)記錄:在命令窗鍵入diaryon,則從此時起以文本格式記錄屏幕所有內(nèi)容于默認(rèn)的文件diary中,如鍵入diarymy23,則放在文件my23中。diaryoff停止記錄隨后的屏幕內(nèi)容。與Matlab軟件有關(guān)的常識●日期與時間命令:●date:提取當(dāng)前日期的字符串?!馽lock:提取機(jī)器當(dāng)前日期,包含年、月、日、時、分、秒?!馽putime:提取當(dāng)前cpu時鐘?!馿time(clock,r):經(jīng)歷時間,先對r賦時,再求與執(zhí)行時刻差?!駎ic:秒表啟動,toc:秒表停止。此時顯示時間為經(jīng)歷時間?!衽cWord的關(guān)系:能夠用剪貼板clipboard傳送命令窗中的所有文字、數(shù)據(jù)、圖形。Copy之前,應(yīng)該先調(diào)整大小。用copyoption里的metafile(矢量模式)進(jìn)行圖形cut與paste,在Word中還可縮放。而通常不用bitmap(點陣模式)?!窭樱河嬎阋粋€100階方陣的逆矩陣,所需要的時間。A=rand(100,100);tic;y=inv(A);tocMatlab常用函數(shù)庫的應(yīng)用●隨機(jī)數(shù)矩陣:rand(m,n):生成m×n的0與1均布矩陣,E=0.5,方差0.2887randn(m,n):生成m×n正態(tài)分布矩陣,E=0,方差為1。y=randn(1,1000);hist(y,50)用直方圖顯示。●corrcoef(x,y),求同長度的信號向量的相關(guān)系數(shù)。●conv(x,y):給出x與y向量的線性卷積?!駀ilter(b,a,x):輸入信號向量x,濾波器傳遞函數(shù)的分子多項式系數(shù)向量b,分母多項式系數(shù)向量a,產(chǎn)生輸出信號向量。Matlab常用函數(shù)庫的應(yīng)用(續(xù))●X=fft(x,N):求時間信號向量x的離散傅立葉變換X。N取最接近的大于x點數(shù)的2冪次點。自動后補(bǔ)零。復(fù)數(shù)向量X各元素的幅度與相位用abs及angle求出。●例子:t=0:.001:3;u=sin(300*t)+2*cos(200*t);U=fft(u);plot(abs(U))axis([0,300,0,3000])%前一對值是x坐標(biāo),后一對是y坐標(biāo)范圍。a信號頻率100,幅度2,b信號頻率150,幅度1。采樣頻率1000×2π=3140多項式函數(shù)庫POLYFUN●表達(dá):以正冪遞減向右排列、缺項為0形成向量如:a(x)=2x3+4x2+6x+8,其向量a=[2,4,6,8].●conv(p,q):多項式p與q相乘?!馿=polyder(a):多項式求導(dǎo)。●多項式相加+,長度不等時,應(yīng)在短的向量前面補(bǔ)零。為什么?●[q,r]=deconv(x,y):多項式相除,有兩個結(jié)果向量q與r,除商式外,還有余子式。規(guī)定:前向量q是商式,第二向量r是余子式。●b=root(c):多項式求根?!馾=poly(b):由根反求多項式。多項式函數(shù)庫POLYFUN(續(xù))●多項式求值:F=polyval(c,x0)。以x0值代入多項式求出值。例:頻響:w=linspace(0,10);%默認(rèn)100點。A=polyval(a,j*w);B=polyval(b,j*w);subplot(2,1,1);plot(w,abs(B./A))%幅度subplot(2,1,2);plot(w,angle(B./A))%相位w1=logspace(-1,1);%0.1到10對數(shù)分割50點。F=polyval(b,j*w1)./polyval(a,j*w1);subplot(2,1,1),loglog(w1,abs(F))雙對數(shù)。subplot(2,1,2);semilogx(w1,angle(F)),%y軸線性。留數(shù)法residue解線性微分方程●線性常微分方程的Laplace表示:Y(s)=B(s)/A(s)。其中設(shè)A(s)為n階多項式,B(s)為m階多項式。●[r,p,k]=residue(b,a):獲得3個輸出向量,p為單極點值,r是相應(yīng)極點的留數(shù)。當(dāng)n>m時,k為空矩陣,因為沒有整多項式。Y(s)=r(1)/s-p(1)+r(2)/s-p(2)+…+r(n)/s-p(n)時域表達(dá):y(t)=r(1)expp(1)t+r(2)expp(2)t+…+r(n)expp(n)t留數(shù)法residue解線性微分方程求y’’’+5y’’+4y’+7y=3x’’+0.5x’+4x在x=u(t)階躍信號和x=δ(t)沖激信號激勵下的解。解:x(s)=1脈沖響應(yīng)和x(s)=1/s階躍響應(yīng);①脈沖響應(yīng):a=[1,5,4,7];b=[3,0.5,4];%a向量、b向量。[r,p,k]=residue(b,a);%得到3個向量。t=0:0.2:10;%等分點,50個。y1=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t)+r(3)*exp(p(3)*t);plot(t,y1)②把a(bǔ)=[1,5,4,7,0],增加1階,可得階躍響應(yīng)。MATLAB應(yīng)用例子●單位脈沖、單位階躍、正弦連續(xù)、復(fù)指數(shù)信號的matlab表示。Clear,t0=0;tf=5;dt=0.05;t1=1;●單位脈沖:t=[t0:dt:tf];%在0~5之間的t1處有個沖激。st=length(t);
n1=floor((t1-t0)/dt);%t1對應(yīng)樣本序號數(shù)。x1=zeros(1,st);%清零向量。x1(n1)=1/dt;%在t1處給出沖激。subplot(2,2,1),stairs(t,x1),axis([0,5,0,1.1/dt])●單位階躍:x2=[zeros(1,n1-1),ones(
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)務(wù)社工的重要性分析計劃
- 前臺文員的專業(yè)發(fā)展路徑計劃
- 2025年中文信息處理平臺項目建議書
- 提升鐘表品牌的全球認(rèn)可度計劃
- 通信行業(yè)個人進(jìn)程計劃
- 2025年熱塑性聚氨酯彈性體項目建議書
- 2025年豆腐及豆制品工業(yè)化生產(chǎn)設(shè)備項目合作計劃書
- 七年級下冊《一元一次不等式組》課件與練習(xí)
- 2025年板臥式電除塵器項目建議書
- 2025年納米抗菌管項目合作計劃書
- 小錢幣大歷史
- 化學(xué)品危險物質(zhì)替代技術(shù)
- 醫(yī)院收費(fèi)價格注意培訓(xùn)課件
- 臨港產(chǎn)業(yè)基地污水處理廠提標(biāo)改造工程設(shè)備及安裝工程招投標(biāo)書范本
- 常用中醫(yī)適宜技術(shù)目錄
- 沖壓模具價格估算方法
- 第1課+古代亞非【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- Before Sunrise 愛在黎明破曉時
- 人教版八年級數(shù)學(xué)下冊《第十六章二次根式》專題復(fù)習(xí)附帶答案
- MotionView-MotionSolve應(yīng)用技巧與實例分析
- 碳納米管應(yīng)用研究
評論
0/150
提交評論