版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第1節(jié)Matlab基本知識1、 Matlab的主要功能Matlab是一種功能非常強大的工程語言,誕生于20世紀(jì)70年代,1984年正式推向市場。2002年8月,Matlab6.5開始發(fā)布。是進行科學(xué)研究和產(chǎn)品開發(fā)必不可少的工具。數(shù)值和符號計算矩陣(數(shù)組)的四則運算(MatrixLaboratory)、數(shù)值差分、導(dǎo)數(shù)、積分、求解微分方程、微分方程的優(yōu)化等數(shù)字圖像、數(shù)字信號處理工程和科學(xué)繪圖控制系統(tǒng)設(shè)計財務(wù)工程建模、仿真功能2、 Matlab的界面1. 命令窗口(CommandWindow):Matlab各種操作命令都是由命令窗口開始,用戶可以在命令窗口中輸入Matlab命令,實現(xiàn)其相應(yīng)的功能。此
2、命令窗口主要包括文本的編輯區(qū)域和菜單欄(如:四則運算;“;”禁止顯示變量的值;遍歷以前的命令)。在命令窗口空白區(qū)域單擊鼠標(biāo)右鍵,打開快捷菜單,各項命令功能如下:EvaluateSelection:打開所選文本對應(yīng)的表達式的值。OpenSelection:打開文本所對應(yīng)的MatLab文件。Cut:剪切編輯命令。Paste:粘貼編輯命令。2. M-文件編輯/調(diào)試(Editor/Debugger)窗口MatlabEditor/Debugger窗口是一個集編輯與調(diào)試兩種功能于一體的工具環(huán)境。M-文件(函數(shù)文件)什么是M-文件:它是一種和Dos環(huán)境中的批處理文件相似的腳本文件,對于簡單問題,直接輸入命令
3、即可,但對于復(fù)雜的問題和需要反復(fù)使用的則需做成M文件(ScriptFile)。創(chuàng)建M-文件的方法:Matlab命令窗的File/New/M-file。在Matlab命令窗口運行edit。M文件的擴展名:*.m執(zhí)行M-文件:F5M文件的調(diào)試選擇Debug菜單,其各項命令功能如下:Step:逐步執(zhí)行程序。Stepin:進入子程序中逐步執(zhí)行調(diào)試程序。Stepout:跳出子程序中逐步執(zhí)行調(diào)試程序。run:執(zhí)行M-文件。GoUntilCursor:執(zhí)行到光標(biāo)所在處。ExitDebugMode:跳出調(diào)試狀態(tài)。函數(shù)文件的創(chuàng)建要求:文件名與函數(shù)名必須相同,如sin(x)必有sin.m函數(shù)文件存在。要求實參和形
4、參位置一一對應(yīng)。形參在工作空間中不會存在??梢跃帉戇f歸函數(shù),可以嵌套其他函數(shù)??梢杂胷eturn命令返回,也可以執(zhí)行到終點返回3. 工作空間(Workspace)窗口:顯示目前保存在內(nèi)存中的Matlab的數(shù)學(xué)結(jié)構(gòu)、字節(jié)數(shù)、變量名以及類型窗口。保存變量:File菜單SaveWorkspaceas命令行:save文件名裝入變量:File菜單ImportData命令行:Load文件名4. 現(xiàn)在目錄窗口(CurrentDirectory)5. 命令歷史窗口(CommandHistory):提供先前使用過的函數(shù),可以復(fù)制或者再次執(zhí)行這些命令。Matlab幫助系統(tǒng)Matlab在命令窗口提供了可以獲得幫助的
5、命令,用戶可以很方便的獲得幫助信息。例如:在窗口中輸入“helpfft”就可以獲得函數(shù)“fft”的信息。常用的幫助信息有help,demo,doc,who,whos,what,which,lookfor,helpbrowser,helpdesk,exit,web等。三、關(guān)于變量變量命名規(guī)則:變量名是不包含空格的單個詞變量名區(qū)分大小寫變量名必須以字母開頭的字母、數(shù)字、下劃線的組合,最多19個字符。Matlab提供的標(biāo)準(zhǔn)函數(shù)名均以小寫字母開頭特殊變量名:ans缺省變量名pi圓周率i,j虛數(shù)單位eps無窮小inf,Inf無窮大realmax最大正實數(shù)realmin最小正實數(shù)清除變量的值clearcl
6、ear變量名1變量名2顯示駐留內(nèi)存的變量名whowhos第2節(jié)Matlab編程一、矩陣(數(shù)組)的輸入1、直接輸入直接按行方式輸入每個元素:同一行中的元素用逗號(,)或者用空格符來分隔,且空格個數(shù)不限;不同的行用分號(;)分隔。所有元素處于一方括號()內(nèi);多維矩陣用多重方括弧??山?fù)數(shù)矩陣如:Null_M=%生成一個空矩陣可建立復(fù)數(shù)矩陣R=1,2,3;4,5,6I=7,8,9;10,11,12Z=R+I*j2.由M文件方式建立,今后使用鍵入M文件名即可建立相應(yīng)矩陣2、利用函數(shù)輸入":"表達式,產(chǎn)生等差行向量start:step:end或start:end(step=1)如:
7、t=1:20產(chǎn)生等距輸入:linspace(a,b,n)將a,b區(qū)間分成n1個等距小區(qū)間產(chǎn)生隨機排列:randperm(n)產(chǎn)生1n之間整數(shù)的隨機排列3、特殊矩陣輸入zeros(n)生成nXn全零陣,zeros(a,b)元素全為0的axb維矩陣,7以下各函數(shù)同理具有該類型。zeros(size(A)生成與矩陣A相同大小的全零陣,Jones(a,b)元素全為1的axb維矩陣eye(a,b)對角線上的元素為1的axb維矩陣rand(a,b)產(chǎn)生axb維均勻分布的隨機矩陣,其元素在(0,1)內(nèi)rand無變量輸入時只產(chǎn)生一個隨機數(shù)randn(a,b)產(chǎn)生axb維正態(tài)分布的隨機矩陣4.矩陣的轉(zhuǎn)置和逆矩陣
8、X的轉(zhuǎn)置:X'(圖像順時針旋轉(zhuǎn)90。,并水平鏡像)如:a=imread('D:2-1.bmp');b=a'subplot(1,2,1),subimage(a),subplot(1,2,2),subimage(b)X的逆矩陣inv(X)訪問第n個元素: 訪問多個元素: 確定元素的個數(shù): 確定矩陣的大小:、矩陣元素的訪問及其大小的確定X(n)(n>=1)X(n1,n2,n3)或X(1:10)numel(X)m,n,l=size(X)三、矩陣的算數(shù)運算數(shù)與矩陣的運算:m等價于m.mA:m與A中各元素相加mA:m與A中各元素相減mxA:m與A中各元素相乘m./A:
9、m除以A中各元素(沒有m/A)mA:A中各元素除以m矩陣與矩陣的運算AB:A、B對應(yīng)元素相加AB:A、B對應(yīng)元素相減AXB:A、B矩陣按線性代數(shù)中矩陣乘法運算進行相乘(注意維數(shù)匹配)A.*B:A、B對應(yīng)元素相乘(注意維數(shù)相同)A/B:A除以B矩陣(AXB1)(注意維數(shù)匹配)A./B:A除以B中各元素AB:B除以A矩陣(A-1XB)(注意維數(shù)匹配)A.B:B除以A中各元素AAm:相當(dāng)于矩陣AX矩陣AX矩陣A.(m為小數(shù)即是矩陣的開方運算)(注意維數(shù)匹配)A.Am:矩陣A中各元素的m次方A.AB:矩陣A中各元素的進行B中對應(yīng)元素次方(注意維數(shù)相同)四、關(guān)系運算<、<=、>、>
10、;=、=、=六種關(guān)系運算符。關(guān)系成立結(jié)果為1,否則為0。五、邏輯運算設(shè)矩陣A和B都是mxn矩陣或其中之一為標(biāo)量,在MATLAB中定義了如下的邏輯運算:&、|、xor(真為1,假為0)(1)矩陣的與運算格式A&B或and(A,B)說明A與B對應(yīng)元素進行與運算,若兩個數(shù)均非0,則結(jié)果元素的值為1,否則為0。(2)或運算格式A|B或or(A,B)說明A與B對應(yīng)元素進行或運算,若兩個數(shù)均為0,則結(jié)果元素的值為0,否則為1。(3)非運算格式A或not(A)說明若A的元素為0,則結(jié)果元素為1,否則為0。(4)異或運算格式xor(A,B)說明A與B對應(yīng)元素進行異或運算,若相應(yīng)的兩個數(shù)中一個為
11、0,一個非0,則結(jié)果為0,否則為1。六、集合運算1 兩個集合的交集intersect2 檢測集合中的元素ismember3 兩集合的差setdiff4 兩個集合交集的非(異或)函數(shù)setxor5 兩集合的并集union6 取集合的單值元素unique七、MatLab的控制流由各種語句構(gòu)成語句后面加“;”號,不顯示運算結(jié)果開頭表示是注釋語句賦值語句變量=表達式表達式(相當(dāng)于將值付給ans變量)演示(三)for循環(huán)結(jié)構(gòu)【例】一個簡單的for循環(huán)示例。fo門=1:10;%i依次取1,2,10,.x(i)=i;%對每個i值,重復(fù)執(zhí)行由該指令構(gòu)成的循環(huán)體,end;x%要求顯示運行后數(shù)組x的值。x=1 2
12、345678910while循環(huán)結(jié)構(gòu)) ;且【例】Fibonacci數(shù)組的元素滿足Fibonacci規(guī)則:ak2akak1,(k1,2,a1a21?,F(xiàn)要求計算出該數(shù)組中第一個大于10000的元素。a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);%當(dāng)現(xiàn)有的元素仍小于10000時,求解下一個元素。i=i+1;end;i,a(i),i=21ans=10946if-else-end分支結(jié)構(gòu)【例1】一個簡單的分支結(jié)構(gòu)。cost=10;number=12;ifnumber>8sums=number*0.95*cost;end,sumss
13、ums=114.0000【例2】用for循環(huán)指令來尋求Fibonacc數(shù)組中第一個大于10000的元素。n=100;a=ones(1,n);fori=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i),break;%跳出所在的一級循環(huán)。end;end,ians=10946i=21switch-case結(jié)構(gòu)【例】學(xué)生的成績管理,演示switch結(jié)構(gòu)的應(yīng)用。clear;%劃分區(qū)域:滿分(100),優(yōu)秀(90-99),良好(80-89),及格(60-79),不及格(<60)fori=1:10;ai=89+i;bi=79+i;ci=69+i;di=59+i;en
14、d;c=d,c;Name='Jack','Marry','Peter','Rose','Tom'%元胞數(shù)組Mark=72,83,56,94,100;Rank=cell(1,5);%創(chuàng)建一個含5個元素的構(gòu)架數(shù)組S,它有三個域。S=struct('Name',Name,'Marks',Mark,'Rank',Rank);%根據(jù)學(xué)生的分?jǐn)?shù),求出相應(yīng)的等級。fori=1:5switchS(i).Markscase100%得分為100時S(i).Rank='滿分'
15、;%列為'滿分'等級casea%得分在90和99之間S(i).Rank='優(yōu)秀'%列為'優(yōu)秀'等級caseb%得分在80和89之間S(i).Rank='良好'%列為'良好'等級casec%得分在60和79之間S(i).Rank='及格'%列為'及格'等級otherwise%得分低于60S(i).Rank='不及格'%列為'不及格'等級endend%將學(xué)生姓名,得分,登記等信息打印出來。登記等信息打印出來。disp('學(xué)生姓名','
16、;得分','等級');disp('')fori=1:5;disp(S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank);end;學(xué)生姓名得分等級Jack72及格Marry83良好Peter56不及格Rose94優(yōu)秀Tom100滿分try-catch結(jié)構(gòu)結(jié)構(gòu)應(yīng)用實例?!纠縯ry-catchclear,N=4;A=magic(3); try%設(shè)置 3 行 3 列矩陣 A。A_N=A(N,:), catch%取 A 的第 N 行元素A_end=A(end,:), end%如果取A(N,:)
17、出錯,則改取A 的最后一行。lasterr%顯示出錯原因A_end =ans =Index exceeds matrix dimensions.第二章符號數(shù)學(xué)工具(SymbolicMathToolbox)第1節(jié)符號表達式符號表達式是代表數(shù)字、函數(shù)、算子和變量的MATLAB字符串,或字符串?dāng)?shù)組。不要求變量有預(yù)先確定的值,符號方程式是含有等號的符號表達式。如表2.1所列。表2.1符號表達式在MATLAB的表示1'1/(2*xAn)'*1y='1/sqrt(2*x)'y2x2'cos(xA2)-sin(2*x)'cos(x)sin(2x)M=sym(&
18、#39;a,b;c,d')f=int('xA3/sqrt(1-x)','a','b)注意:加單引號表示是一個符號表達式而不是數(shù)字表達式。符號函數(shù):讓用戶操作上述符號表達式的方法和函數(shù),比如:>>diff('cos(x)')%differentiatecos(x)withrespecttoxans=-sin(x)>>M=sym('a,b;c,d')%createasymbolicmatrixMM=a,bc,d注意:1.建立符號數(shù)組時,最好用上函數(shù)sym2.許多符號函數(shù)可以自動將字符轉(zhuǎn)變?yōu)榉柋?/p>
19、達式。例如diffcos(x)也可以,>>diffxA2+3*x+5%theargumentisequivalentto'xA2+3*x+5'符號變量是符號表達式中的變量,如:x+3*y+z'中的x,y,z。獨立變量是當(dāng)符號表達式中含有多于一個的變量時,只有一個變量是獨立變量。缺省的獨立變量是x,如果沒有x,則選擇最靠近x的作為獨立變量。如表達式1/(5+cos(x)'中是x'在'3*y+z中是y'在'a+sin(t)'是't',而表達式sin(pi/4)-cos(3/5)'是一個符號常
20、數(shù)無符號變量??衫煤瘮?shù)symvar詢問MATLAB在符號表達式中哪一個變量它認為是獨立變量(系統(tǒng)找不到一個獨立變量,便假定無獨立變量并返回x)。> >symvar('a*x+y*)%findthedefaultsymbolicvariableans=x> >symvar('a*t+s/(u+3)')%uistheclosestto'x'ans=u> >symvar('sin(omega)')%'omega'isnotasingleecharacter。ans=x> >sym
21、var('3*i+4*j')%iandjareequeltosqrt(-1)ans=x指定獨立變量:> >diff('xAn')%differentiatewithrespecttothedefaultvariable'x'ans=xAn*n/x> >diff('xAn','n')%differentiatexAnwithrespectto'n'ans=xAn*10g(x)> >diff('sin(omega)')%differentiateusi
22、ngthedefaultvariables(x)ans=0> >diff('sin(omega)','omega')%specifytheindependentvariableans=cos(omega)第2節(jié)符號表達式運算(目的:更方便的構(gòu)造符號表達式)標(biāo)準(zhǔn)代數(shù)運算:symadd、symsub、symlnul、symdiv:分別為加、減、乘、除兩個表達式sympow:將一個表達式上升為另一個表達式的哥次例如:給定兩個函數(shù)f2x23x5gx2x7>> f= ' 2*xA2+3*x-5 '%definethesymbolic
23、expressionf=2*xA2+3*x-5>>g='xA2-x+7g=xA2-x+7> >symadd(f,g)%findanexpressionforf+gans=3*x+2*x+2> >symsub(f,g)%findanexpressionforf-gans=xA2+4*x-12> >symmul(f,g)%findanexpressionforf*gans=(2*xA2+3*x-5)*(xA2-x+7)> >symdiv(f,g)%findanexpressionforf/gans=(2*xA2+3*x-5)/(x
24、A2-x+7)3*> >sympow(f,'3*x')%findanexpressionforfans=(2*xA2+3*x-5)A(3*x)聯(lián)接運算:symop:取由逗號隔開的、多至16個參量。各個參量可為符號表達式、數(shù)值或算子('+'、'-'、*'、'/'、A、('或)'),然后symop可將參量聯(lián)接起來,返回最后所得的表達式.> >f='cos(x)'%createanexpressionf=cos(x)> >g='sin(2*x)'
25、%createanotherexpressiong=sin(2*x)> >symop(f,7z,g,'+',3)%combinethemans=cos(x)/sin(2*x)+3高級運算:lcompose:把f(x)和g(x)復(fù)合成f(g(x);tfinverse:求函數(shù)的逆函數(shù);symsum:求表達式的序列和。compose給定表達式g sin(x)1 u2k = sin(v)>>symsxyuvf=1/(1+xA2);g=sin(y);h=1/(1+uA2);k=sin(v);%createthefourexpression>> comp
26、ose(f , g) %findanexpressionforf(g(x)ans=1/(1+sin(y)A2)find an expression for g(f(x)'v')% given h(u) , k(v) , find(k(v)%結(jié)果一樣>>compose(g,f)%ans=sin(1/(1+xA2)用于含有不同獨立變量的函數(shù)表達式>>compose(h,k,'u'compose(h,k)ans=1/(1+sin(v)A2)finverse表達式譬如f(x)的函數(shù)逆g(x),滿足g(f(x)=x。例如,ex的函數(shù)逆是ln(x),
27、因為ln(ex)=x。11sin(x)的函數(shù)逆是arcsin(x),函數(shù)的函數(shù)逆是arcsin(一)。函數(shù)finverse返回表達式的tan(x)x函數(shù)逆。如果解不是唯一就給出警告。> >symsxabcdz> >finverse(1/x)%theinverseof1/xis1/xsince'1/(1/x)=x'ans=1/x> >finverse(xA2)%g(xA2)=xhasmorethanonesolutionWarning:finverse(xA2)isnotuniqueans=xA(1/2)> >finverse(a*
28、x+b)%findthesolutionto'g(f(x)=x'ans=% find the solution to ' g(f(a)=a '-(b-x)/a> >finverse(a*b+c*d-a*z,'a')ans=-(c*d-a)/(b-z)symsum求表達式的序列和有四種形式:x1ssymsum返回f(x);os1symsum(f,'s')返回f(s),obsymsun(f,a,b)返回f(x);bf (s)。aaIsymsun(f,'s',a,b)返回x11. x2,它應(yīng)返回:>&g
29、t;symsnx%一定要定義符號變量,即使是>>symsum(xA2)ans=n2.(2n11/3*xA3-1/2*xA2+1/6*x1)2,它應(yīng)返回叢2n1)(2n1)Q3>>symsum(2*n-1)A2,1,n)ans=11/3*n+8/3-4*(n+1)A2+4/3*(n+1)A31 一口23.1,返回應(yīng)是。1 (2n1)8> >symsn> >symsum(1/(2*n-1)A2,1,inf)ans=1/8*piA2變量替換:subs將某個符號變量用另一個符號變量來表示。格式:subs(f,old,new)如:% create a fu
30、nction f(x)> >f='a*x2+b*x+cf=a*xA2+b*x+c>> subs(f,'x','s') expression f% substitute 's' for ' x ' intheans=a*sA2+b*s+c% substitute ' alpha ' for ' a ' in f>>subs(f,'a','alpha')ans=alpha*xA2+b*x+c求符號表達式的函數(shù)值為了得到數(shù)字,需要
31、使用函數(shù)eval來轉(zhuǎn)換字符串。> >symsx> >f=symsum(xA2)> >x=2> >eval(f)第3節(jié)微積分(Calculus)函數(shù)微分和積分廣泛地用在許多工程學(xué)科,這部分的主要函數(shù)有:ddiff():Differentiate.(微分)Int():Integrate(積分)Jacobian():Jacobianmatrix(雅可比行歹U式)Limit():Limitofanexpression.(極限)Symsum():Summationofseries(序歹U和)Taylor():Taylorseriesexpansion(泰勒
32、級數(shù))微分和差分:diff> >f='a*xA3+xA2-b*x-c'%defineasymbolicexpressionf=a*xA3+xA2-b*x-c> >diff(f)%differentiatewithrespecttothedefaultvariablexans=3*a*xA2+2*x-b> >diff(f,'a')%differentiatewithrespecttoaans=xA3> >diff(f,2)%differentiatetwicewithrespecttoxans=6*a*x+2>
33、 >diff(f,'a',2)%differentiatetwicewithrespecttoaans=0> >m=(1:8).A2)%createavectorM=1491625364964> >diff(M)%findthedifferencesbetweenelementsans=3579111315如果diff的表達式或可變參量是數(shù)值,MATLAB就非常巧妙地計算其數(shù)值差分;如果參量是符號字符串或變量,MATLAB就對其表達式進行微分。積分int:格式:int(f),其中f是一符號表達式,它力圖求出另一符號表達式F使diff(F尸f。注意:
34、積分或逆求導(dǎo)不一定是以封閉形式存在,或存在但軟件也許找不到,或者軟件可明顯地求解,但超過內(nèi)存或時間限制。當(dāng)MATLAB不能找到逆導(dǎo)數(shù)時,它將返回未經(jīng)計算的命令。> >int('log(x)/exp(xA2)')%attempttointegrateans=log(x)/exp(xA2)積分函數(shù)的多種形式:lint:相對于缺省的獨立變量x求逆導(dǎo)數(shù)Iint(f,飛'):相對于符號變量闞分int(f,a,b)和int(f,'s',a,b):a,b是數(shù)值,求解符號表達式從a到b的定積分Lint(f,'m','n')和形
35、式int(f,飛,m','n'):其中m,n是符號變量,求解符號表達式從m到n的定積分。> >f='sin(s+2*x)'%crateasymbolicfunctionf=sin(s+2*x)> >int(f)%integratewithrespecttoxans=-1/2*cos(s+2*x)>>int(f,'s')%integratewithrespecttosans=-cos(s+2*x)> >int(f,pi/2,pi)%integratewithrespecttoxfrom/2to
36、ans=-cos(s)> >int(f,'s',pi/2,pi)%integratewithrespecttosfrom/2toans=2*cos(x)A2-1-2*sin(x)*cos(x)> >int(f,'m','n')%integratewithrespecttoxfrommtonans=-1/2*cos(s+2*n)+1/2*cos(s+2*m)diff和int均可以對符號數(shù)組的每一個元素進行運算。>>F=sym('a*x,b*xA2;c*xA3,d*s')%createasymbol
37、icarrayF=a*x,b*xA2c*xA3,d*s>>int(F)%ubtegratethearrayelementswithrespecttoxans=1/2*a*xA2,1/3*b*xA31/4*c*xA4,d*s*x第4節(jié)數(shù)字信號處理常用Matlab函數(shù)簡介一、典型離散信號表示方法1 .單位沖擊序列8(n)8(n)可以用zero函數(shù)來實現(xiàn):x=zeros(1,N);x(1)=1;2 .單位階躍序列u(n)可以用ones函數(shù)來實現(xiàn)X=ones(1,N);3 .正弦序列n=0:N-1;x=A*sin(2*pi*f*n*Ts);4 .指數(shù)序列N=1:N;X=a.*An;5 .復(fù)
38、指數(shù)序列n=0:N-1;x=exp(j*w*n);6 .隨機序列Rand(1,N):產(chǎn)生0,1上的均勻分布的隨機序列;Rand(1,N):產(chǎn)生均值為0,方差為1的高斯隨機序列,即白噪聲序列。二、濾波器分析與實現(xiàn)濾波器分析與實現(xiàn)常用函數(shù)abs求絕對值angle求相角conv求卷積conv2求二維卷積deconv翻卷積f1filt重疊相加法fft濾波器實現(xiàn)filter直接濾波器實現(xiàn)filter2二位數(shù)字濾波器filtfilt零相位數(shù)字濾波器filticFilter初始條件選擇freqs模擬濾波器頻率響應(yīng)freqspace畫出頻率響應(yīng)曲線freqz數(shù)字濾波器頻率響應(yīng)freqzplot畫出頻率響應(yīng)曲線
39、gGrpdelay平均濾波延遲latcfilt格型濾波實現(xiàn)impz數(shù)字濾波器中的單位沖擊響應(yīng)medfilt1一維中值濾波sosfilt二次分式濾波器實現(xiàn)zplane離散系統(tǒng)零、極點圖upfirdn上抽樣unwrap1. absy=abs(x)計算x的絕對值,當(dāng)x為復(fù)數(shù)時,其算其模值。當(dāng)x為字符串時,計算各個字符的ASCII碼。2. angle。=angle(h)計算復(fù)矢量或者復(fù)矩陣的相角(以弧度為單位),相角介于-刀刀之間。3. .convc=conv(a,b)對序列a,b進行卷積運算。4. .filtery=filter(b,a,x)計算輸入信號x的濾波器輸出,向量a,b分別是所采用的濾波器
40、的分子系數(shù)向量和濾波器的分母向量。y,zf=filter(b,a,x,zi)參數(shù)zi指定濾波器的初始條件,其大小為zi=max(length(a),length(b)-1y=filter(b,a,x,zi,dim)dim指定濾波器的維數(shù)。7zi7=1或。表示空集。5. impzh,t=impz(b,a)返回參數(shù)h是沖擊相應(yīng)的數(shù)值;返回t是沖擊相應(yīng)的抽樣時間間隔。h,t=impz(b,a,N)N用來制定沖激信號長度。如果N是一個整數(shù)向量,只返回N元素所對應(yīng)時刻的抽樣數(shù)值的沖擊結(jié)果。N為口,表示不制定沖激信號的長度,其長度與濾波器結(jié)構(gòu)保持一致。h,t=impz(b,a,N,fs)Fs用來指定沖擊信
41、號的抽樣頻率,默認值是1。三、信號變換常用變換函數(shù)cztChirpz變換dct離散余弦變換dftmtx離散傅里葉變換fft一維快速傅里葉變換fft2二維快速傅里葉變換fftshift一重新排列fft輸出HilbertHilbert變換idct離散余弦反變換ifft一維快速傅里葉反變換ifft2二維快速傅里葉反變換1.fftY=fft(X)若X是向量,則采用傅里葉變換求解X離散傅里葉變換;若X是矩陣,則計算該矩陣每一列的離散傅里葉變換。Y=fft(X,N)N是進行離散傅里葉變換的X的數(shù)據(jù)長度,可以通過對X進行補或截取來實現(xiàn)。Y=fft(X,口,dim)在參數(shù)dim指定的維上進行傅里葉變換。X是矩
42、陣時,dim用來指變換的實施方向:dim=1,表明變換按列進行;dim=2,表明變換按行進行。第5節(jié)方程求解一、求解單個變量的代數(shù)方程:利用solve函數(shù)1 .沒有=號的表達式,用soke將其置成等于0。>>solve('a*xA2+b*x+c')%solvefortherootsofthequadraticequtionans=1/2/a*(-b+(bA2-4*a*c)A1/2)1/2/a*(-b-(bA2-4*a*c)A1/2)注:方程有2個解。2.對其他非缺省變量求解,在solve中指定出該變量。>>solve('a*xA2+b*x+c
43、39;,'b')%solveforbans=-(a*xA2+c)/x3.對帶有等號的方程求解。>>f=solve('cos(x)=sin(x)')%solveforxf=1/4*pi>>t=solve('tan(2*x)=sin(x)')t=0piatan(1/2*(-2*3A(1/2)A(1/2),1/2+1/2*3A(1/2)atan(-1/2*(-2*3,(1/2)A(1/2),1/2+1/2*3A(1/2)atan(1/2*2A(1/2)*3A(1/4)/(1/2-1/2*3A(1/2)+pi-atan(1/2*2
44、A(1/2)*3A(1/4)/(1/2-1/2*3A(1/2)-pi二、單個常微分方程求解:利用dsovle函數(shù)dsovle函數(shù)的句法:用字母D來表示求微分,D2,D3等等表示二階、三階微分,并以此來設(shè)定方程。任彳SJD后所跟的字母為因變量。方程d2y/dx2=0用符號表達式D2y=0來表示。獨立變量可以指定或由symvar規(guī)則選定為缺省。例1,求一階方程dy/dx=1+y2的解,其通解為:> >dsolve('Dy=1+yA2')%findthegeneralsolutionans=tan(t+C1)%C1是積分常數(shù)給定初值y(0)=1的方程的解:> >
45、;dsolve('Dy=1+yA2','y(0)=1')%addaninitialconditiony=tan(t+1/4*pi)指定獨立變量:> >dsolve('Dy=1+yA2','y(0)=1','v')%findsolutiontody/dvans=tan(v+1/4*pi)例2:求二階微分方程的解,方程有兩個初始條件:,2.dydy-=cos(2x)-y(0)=0y(0)=1>>y=dsolve('D2y=cos(2*x)-y','Dy(0)=0'
46、,'y(0)=1','x')y=(1/6*cos(3*x)-1/2*cos(x)*cos(x)+(1/2*sin(x)+1/6*sin(3*x)*sin(x)+4/3*cos(x)> >y=simple(y)%ylookslikeitcanbesimplifiedy=-1/3*cos(2*x)+4/3*cos(x)例3:求解下列形式的微分方程,2,-y=0dydydx2dx通解為:>>y=dsolve('D2y-2*Dy-3*y=0','x')y=C1*exp(-x)+C2*exp(3*x)加上初始條件:y
47、(0)=0和y(1)=1可得到:> >y=dsolve('D2y-2*Dy-3*y=0','y(0)=0','y(1)=1','x')y=1/(exp(-1)-exp(3)*exp(-x)-1/(exp(-1)-exp(3)*exp(3*x)> >y=simple(y)%thislookslikeacandidateforsimplificationy=(exp(-x)-exp(3*x)/(exp(-1)-exp(3)> >pretty(y)%prettyitupexp(-x)-exp(3x)e
48、xp(3)-exp(-1)小結(jié)卜列各表綜合了符號數(shù)學(xué)工具箱的特性:符號表達式的運算eval符號到數(shù)值的轉(zhuǎn)換Pretty顯示悅目的符號輸出Subs替代子表達式Sym建立符號矩陣或表達式Symadd符號加法Symdiv符號除法Symmul符號乘法Symop符號運算Sympow符號表達式的嘉運算Symrat有理近似Symsub符號減法Symvar求符號變量符號表達式的簡化Collect合并同類項ExpandWFactor因式Simple求解最簡形式Simplify簡化symsum和級數(shù)符號多項式CharpolyHornerNumdenpoly2symsym2poly特征多項式秋套多項式表小分子或分母
49、的提取多項4向量到符號的轉(zhuǎn)換符號到多項4向量的轉(zhuǎn)換符號微積分Diff微分Int積分Jordan約當(dāng)標(biāo)準(zhǔn)形Taylor泰勒級數(shù)展開符號可變精度算術(shù)Digits設(shè)置可變精度Vpa可變精度計算求解符號方程Compose函數(shù)的復(fù)合Dsolve微分方程的求解Finverse函數(shù)逆Linsolve齊次線性方程組的求解Solve代數(shù)方程的求解符號線性代數(shù)Charploy特征多項式Determ矩陣行列式的值Eigensys特征值和特征向量Inverse矩陣逆Jordan約當(dāng)標(biāo)準(zhǔn)形Linsolve齊次線性方程組的解Transpose矩陣的轉(zhuǎn)置離散信號的表示法第三章函數(shù)繪圖數(shù)據(jù)圖形能使視覺感官直接感受到數(shù)據(jù)的許多
50、內(nèi)在本質(zhì),發(fā)現(xiàn)數(shù)據(jù)的內(nèi)在聯(lián)系。MATLAB可以表達出數(shù)據(jù)的二維,三維,甚至四維的圖形。第1節(jié)二維圖形、基本平面圖形繪制命令:plot功能線性二維圖。格式plot(X,'s')X為實向量的時候,以該向量元素的下標(biāo)為橫坐標(biāo),元素值為縱坐標(biāo),繪出一條連續(xù)曲線。plot(X,Y)X,Y為同維向量時,繪制以X、Y元素為橫、縱坐標(biāo)的曲線。X為向量,Y為一維或多維矩陣時,繪出多條不同顏色的曲線。X為這些曲線共同的橫坐標(biāo)。plot(Y):Y的維數(shù)為m,則plot(Y)等價于plot(x,Y),其中x=1:mplot(X1,Y1,X2,Y2,”其中Xi與Yi成對出現(xiàn)plot(X1,Y1,Line
51、Spec1,X2,Y2,LineSpec2)將按順序分別畫出由三參數(shù)定義Xi,Yi,LineSpeci的線條。其中參數(shù)LineSpeci指明了線條的類型,標(biāo)記符號,和畫線用的顏色??苫旌鲜褂萌齾?shù)和二參數(shù)的形式:plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)plot(,'PropertyName',PropertyValue,)對圖形對象中指定的屬性進行設(shè)置。h=plot()返回line圖形對象句柄的一列向量,一線條對應(yīng)一句柄值。允許用戶對線條定義的屬性1 .線型定義符-:-.線型實線(缺省值)劃線點線點劃線2 .線條寬度'Lin
52、eWidth'指定線條的寬度,取值為整數(shù)(單位為像素點)3 .顏色定義符R(red)G(green)b(blue)c(cyan)顏色紅色綠色色定義符M(magenta)y(yellow)k(black)w(white)顏色品紅原;色黑色白色4 .標(biāo)記類型定義符+O(字母)*.x標(biāo)記類型加號小圓圈星號實占八、交叉號定義符dAv><標(biāo)記類型棱形向上三角形問卜二角形向右二角形向左二角形定義符shP標(biāo)記類型止方形正六角星正五角星5 .標(biāo)記大?。?#39;MarkerSize'指定標(biāo)記符號的大小尺寸,取值為整數(shù)(單位為像素)6 .標(biāo)記面填充顏色'MarkerFaceC
53、olor'指定用于填充標(biāo)記符面的顏色。取值見上表。7 .標(biāo)記周邊顏色MarkerEdgeColor'指定標(biāo)記符顏色或者是標(biāo)記符(小圓圈、正方形、棱形、正五角星、正六角星和四個方向的三角形)周邊線條的顏色。取值見上表。坐標(biāo)軸的設(shè)置創(chuàng)建圖形時,用戶可以制定坐標(biāo)的范圍、數(shù)據(jù)間隔及坐標(biāo)名稱。用命令axis可以控制坐標(biāo)軸的刻度及形式。axisXmin,Xmax,Ymin,Ymax直角坐標(biāo)圖形的縱橫比在默認的情況下與窗口縱橫比相同,用axis可以控制圖形縱橫比的格式如下:axisaquare:將兩個軸的長度設(shè)置為相等;axisequal:將坐標(biāo)軸的標(biāo)記檢舉設(shè)置為相等;axisequalti
54、ght:將圖形以緊縮的方式顯示。例:t=(pi*(0:1000)/1000);y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);plot(t,y1);axis(0,pi,-1,-1)圖形標(biāo)志圖形標(biāo)志包括圖名、坐標(biāo)軸名、圖形注釋和圖例,常用格式如下:Title(s):書寫圖名;Xlable(s):橫坐標(biāo)軸名;Ylable(s):縱坐標(biāo)軸名;Legend(s1,s2,):繪制曲線所用線型、色彩或數(shù)據(jù)點形圖例;Text(xt,yt,s):在圖面(xt,yt)坐標(biāo)處書寫字符注釋。多子圖Matlab允許用戶在同一圖形框內(nèi)布置幾幅獨立的子圖。subplot(m,n,
55、k)%使m*n幅子圖中的第k幅成為當(dāng)前圖。圖形中有m*n幅圖,k是子圖的編號。子圖的序號原則是:左上方為第一幅,向右、下依次排號。subplot產(chǎn)生的子圖相互獨立,所有繪圖指令均可以在子圖中應(yīng)用。參數(shù)LineSpec的說明:參數(shù)LineSepc可以定義線條的三個屬性:線型、標(biāo)記符號和顏色。對線條的上述屬性的定義用字符串來定義,如:plot(x,y,'-.or'),表示畫點劃線(-.),在數(shù)據(jù)點(x,y)處畫出小圓圈(o),線和標(biāo)記都用紅色畫出。注:字符串中的字母、符號可任意組合。若僅僅指定了標(biāo)記符,而沒有指定非線型,則plot只在數(shù)據(jù)點畫出標(biāo)記符,如:plot(x,y,'
56、;d)例1>>t=0:pi/20:2*pi;plot(t,t.*cos(t),'-.r*')holdonplot(exp(t/100).*sin(t-pi/2),'-mo')plot(sin(t-pi),':bs')>>holdoff例2>>t=1:0.1:10plot(t,sin(2*t),'-mo','LineWidth',2,.'MarkerEdgeColor','k',.'MarkerFaceColor',0.49,1,0.
57、63,.'MarkerSize',5)元函數(shù)y=f(x)的繪圖命令fplotfplot采用自適應(yīng)步長控制來畫出函數(shù)function的示意圖,在函數(shù)的變化激烈的區(qū)間,采用小的步長,否則采用大的步長??傊褂嬎懔颗c時間最小,圖形盡可能精確。注意:必須是函數(shù),可以是一個m-文件函數(shù)或者是一個包含符號變量的函數(shù),如:'sin(x)*exp(2*x),”sin(x),cos(x)。'格式:fplot('function',limits)在指定白范圍limits內(nèi)畫出一元函數(shù)圖形。其中l(wèi)imits是一個指定x-軸范圍的向量xminxmax或者是x軸和y軸的
58、范圍的向量xminxmaxyminymax。fplot('function',limits,LineSpec)用指定的線型LineSpec畫出函數(shù)function。fplot('function',limits,tol)用相對誤差值為tol畫出函數(shù)function。相對誤差的缺省值為2e-3ofplot('function',limits,tol,LineSpec)用指定的相對誤差值tol和指定的線型LineSpec畫出函數(shù)function的圖形。fplot('function',limits,n)當(dāng)n>=1,則至少畫出n+1個點(即至少把范圍limits分成n個小區(qū)間),最大步長不超過(xmax-xmin)/n。fplot('function',lims,許可選參數(shù)tol,n和LineSpec以任意組合方式輸入。X,Y=fplot('function',limits,)返回橫坐標(biāo)與縱坐標(biāo)的值給變量
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年玻璃制品采購合同
- 2024年物業(yè)服務(wù)與社區(qū)文化活動策劃委托合同3篇
- 《背影》課時教案模板
- 擬定財務(wù)的個人工作計劃大全
- 2024山東基礎(chǔ)軟件服務(wù)市場前景及投資研究報告
- 產(chǎn)科工作計劃
- 初中教師年終教學(xué)計劃五篇
- 幼兒園實習(xí)自我總結(jié)十篇
- 內(nèi)勤個人工作計劃10篇
- 關(guān)于教師一級述職報告3篇
- 2025年國家圖書館招聘筆試參考題庫含答案解析
- 機器人課程課程設(shè)計
- 南充市市級事業(yè)單位2024年公招人員擬聘人員歷年管理單位遴選500模擬題附帶答案詳解
- 安全知識考試題庫500題(含答案)
- 員工投訴表格樣板
- 基礎(chǔ)工程施工月進度計劃表
- 危險性較大的分部分項工程專家論證表
- 2021-2022學(xué)年上海市閔行區(qū)五年級上學(xué)期期末語文試卷
- 人教版五年級上冊數(shù)學(xué)組合圖形的面積同步練習(xí)
- 2018級成考專升本漢語言文學(xué)專業(yè)12月份考試資料文獻學(xué)復(fù)習(xí)資料
- 最新中考英語單詞表2200個
評論
0/150
提交評論