




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一節 二維圖形的繪制第三章 MATLAB繪圖一. plot 函數plot 函數是最基本的繪圖函數,其基本的調用格式為:1plot(y)-繪制向量y 對應于其元素序數的二維曲線圖,如果y 為復數向量,則繪制虛部對于實部的二維曲線圖。例:繪制單矢量曲線圖。 y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20; plot(y)由于y 矢量有10 個元素,x 坐標自動定義為1 2 3 4 5 6 7 8 9 10。圖形為:2.plot(x,y)-繪制由x,y 所確定的曲線。1)x,y 是兩組向量,且它們的長度相等,則plot(x,y)可以直觀地繪出以x 為橫坐標,y 為縱坐
2、標的圖形。如:畫正弦曲線:t=0:0.1:2*pi;y=sin(t);plot(t,y)2)當plot(x,y)中,x 是向量,y 是矩陣時,則繪制y 矩陣中各行或列對應于向量x 的曲線。如果y 陣中行的長度與x 向量的 長度相同,則以y 的行數據作為一組繪圖數據;如果y 陣中列的長度與x 向量的 長度相同,則以y 的列數據作為一組繪圖數據;如果y 陣中行、列均與x 向量的長度相同,則以y 的每列數據作為一組繪圖數據。3) 如果x,y 是同樣大小的矩陣,則plot(x,y)繪出y 中各列相應于x 中各列的圖形。 3多組變量繪圖:plot(x1, y1, 選項1, x2, y2, 選項2, )
3、上面的plot 格式中,選項是指為了區分多條畫出曲線的顏色、線型及標記點而設定的曲線的屬性。MATLAB 在多組變量繪圖時,可將曲線以不同的顏色、不同的線型及標記點表示出來。這些選項如下表所示:色彩字符所定顏色線型字符線型格式y黃-實線m紫:點線c青-.點劃線r紅- -虛線g綠b藍w白k黑cyan 青色 purple 紫色標記符號數據點形式標記符號數據點形式.點大于號向上的三角形t=0:0.1:7;x=sin(t);plot(t,x, k-.); 注意:1)表示屬性的符號必須放在同一個字符串中; 2)可同時指定13 個屬性; 3)與先后順序無關; 4)指定的屬性中,同一種屬性不能有兩個以上。二
4、雙Y 軸繪圖:plotyy()函數其調用格式為:plotyy(x1,y1,x2,y2)-繪制由x1,y1 和x2,y2 確定的兩組曲線,其中x1,y1 的坐標軸在圖形窗口的左側,x2,y2 的坐標軸在圖形窗口的右側。plotyy(x1,y1,x2,y2, function1,function2)-功能同上,function 是指那些繪圖函數如:plot,semilogx,loglog 等。例如:在一個圖形窗口中繪制雙Y 軸曲線。x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,plot,stem) stem:繪制stem 形式的曲線(上端帶
5、圈的豎線)。 繪圖結果:兩條圖線自動用不同的顏色區分,兩個坐標的顏色與圖線的顏色相對應,左邊的Y 軸坐標對應的是plot 形式的曲線,右邊的Y 坐標對應的是stem 形式的曲線。 三對數坐標圖繪制函數: 在對數坐標圖的繪制中,有三種繪圖函數:semilogx,semilogy 和loglog 函數。1)semilogx( )-繪制以X 軸為對數坐標軸的對數坐標圖。 其調用格式為:semilogx(x,y,屬性選項) 其中屬性選項同plot 函數。 該函數只對橫坐標進行對數變換,縱坐標仍為線性坐標。2)semilogy( )-繪制以Y 軸為對數坐標軸的對數坐標圖。 其調用格式為:semilogy
6、(x,y,屬性選項) 該函數只對縱坐標進行對數變換,橫坐標仍為線性坐標。3)loglog( )- 繪制X、Y 軸均為對數坐標軸的圖形。 其調用格式為:loglog(x,y,屬性選項) 該函數分別對橫、縱坐標都進行對數變換。例:x=0:0.1:6*pi;y=cos(x/3)+1/9;subplot(221), semilogx(x,y);subplot(222), semilogy(x,y);subplot(223), loglog(x,y);4)logspace( a,b,n)函數功能:生成從10的a次方到10的b次方之間按對數等分的n個元素的行向量 . 這里,a表示向量的起點;b 表示向量的
7、終點;n 表示需要產生向量點的個數(一般可以不給出,采用默認值50)。在控制系統分析中一般采用這種方法來構成頻率向量w。關于它的應用后面還要講到。四繪制多個子圖:subplot( )函數功能: 允許在一個圖形窗口上繪制多個子圖(如對于多變量系統的輸出),允許將窗口分割成nxm 個部分。調用格式為: subplot(n,m,k)或subplot(nmk)- n,m 分別表示將窗口分割的行數和列數, k 表示要畫圖部分的代號,表示第幾個圖形。注:nmk 三個數可以連寫,中間不用符號分開。例如:將窗口劃分成2x2=4 個部分,可以這樣寫:subplot(2,2,1),plot()subplot(2,
8、2,2),subplot(2,2,3),subplot(2,2,4),注:subplot 函數沒有畫圖功能,只是將窗口分割。第二節 圖形的修飾與標注特殊的函數修飾畫出的圖形1)坐標軸的標題:title 函數調用格式為:title(字符串)-字符串可以寫中文 如:title(My own plot)2)坐標軸的說明:xlabel 和ylabel 函數格式:xlabel(字符串) ylabel(字符串)如:xlabel(This is my X axis) ylabel(My Y axis)3)圖形說明文字:text 和gtext 函數Atext 函數:按指定位置在坐標系中寫出說明文字。 格式為:
9、text(x1, y1, 字符串, 選項) x1,y1 為指定點的坐標;字符串為要標注的文字;選項決定x1,y1的坐標單位,如沒有選項,則x1,y1 的坐標單位和圖中一致; 如選項為sc,則x1,y1 表示規范化窗口的相對坐標,其范圍為0 到1。 如:text(1,2, 正弦曲線)Bgtext 函數:按照鼠標點按位置寫出說明文字。 格式為:gtext(字符串) 當調用這個函數時,在圖形窗口中出現一個隨鼠標移動的大十字交叉線,移動鼠標將十字線的交叉點移動到適當的位置,點擊鼠標左鍵,gtext 參數中的字符串就標注在該位置上。 4)給圖形加網格:grid 函數, grid on/off命令 控制是
10、畫還是不畫網格線,5) hold on/off命令 控制是保持原有圖形還是刷新原有圖形6)在圖形中添加圖例框:legend 函數其調用格式為:Alegend(字符串1, 字符串2, )-以字符串1,字符串2 作為圖形標注的圖例。Blegend(字符串1, 字符串2, , pos)-pos 指定圖例框顯示的位置。圖例框被預定了6 個顯示位置:0-取最佳位置;1-右上角(缺省值);2-左上角;3-左下角;4-右下角;-1-圖的右側。 7)用鼠標點選屏幕上的點:ginput 函數格式為:x, y, button=ginput(n)其中:n 為所選擇點的個數;x,y 均為向量,x 為所選n個點的橫坐標
11、;y 為所選n個點的縱坐標。button 為n 維向量,是所選n 個點所對應的鼠標鍵的標號:1-左鍵;2-中鍵;3-右鍵。可用不同的鼠標鍵來選點,以區別所選的點。 此語句可以放在繪圖語句之后,它可在繪出的圖形上操作,選擇你所感興趣的點,如峰值點,達到穩態值的點等,給出點的坐標,可求出系統的性能指標。x=0:pi/10:2*pi;y1=sin(x);y2=cos(x);subplot(211),plot(x,y1)title(正弦曲線);xlabel(x軸);ylabel(y軸);grid onsubplot(212),plot(x,y2)hold onstem(x,y2)text(1.5,0.
12、2, y2=cosx)legend(余弦,stem)gtext(余弦曲線)8)一些有關坐標軸的函數:1)定義坐標范圍:一般MATLAB 自動定義坐標范圍,可用:axis(Xmin, Xmax, Ymin, Ymax) 來重新設定;2)坐標軸控制:MATLAB 的缺省方式是在繪圖時,將所在的坐標系也畫出來。 axis off 隱去坐標系;axis on 顯示坐標軸(缺省)。3)通常MATLAB 的坐標系是長方形,長寬比例大約是4:3, axis square得到一個正方形的坐標系:4)坐標系橫縱軸的比例是自動設置的,比例可能不一樣。axis equal 得到相同比例的坐標系t=0:0.1:7;y
13、=0;x=sin(t); plot(t,x,r-*,t,y,-.b+) ;axis off %取消坐標軸,默認為顯示坐標軸即axis on在0 x2區間內,繪制曲線 y=2e-0.5xcos(4x)x=0:pi/100:2*pi;y=2*exp(0.5*x).*cos(4*pi*x); plot(x,y)text(3,0.5,y=2exp(-0.5*x)cos(4*pi*x)%輸入特定的文字需要用反斜杠()開頭pi alpha beta leftarrow rightarrow bullet .例 分析下列程序繪制的曲線。x1=linspace(0,2*pi,100);%行向量x2=linsp
14、ace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x =x1;x2;x3;%x=x1 x2 x3y=y1;y2;y3; %y=y1 y2 y3plot(x,y,x1,y1-1)legend(y1=sin(x1) , y2=1+sin(x2) , y3=2+sin(x3) ,y1-1=sin(x1) ,4) %該參數的選擇項為0,1,2,3,4,-1;%1為默認值,可省略。例 用不同標度在同一坐標內繪制曲線y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x)。x=0:pi
15、/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);grid on%給坐標加網格線,默認為不加即grid off函數意義grid on(/off)給當前圖形標記添加(取消)網格xlabel(string)標記橫坐標ylabel(string)標記縱坐標title(string)給圖形添加標題text(x,y,string)在圖形的任意位置添加說明性文本gtext(string)利用鼠標添加說明性文本信息axis(xmin xmax ymin ymax)設置坐標軸的最小最大
16、值例 在0 x2區間內,繪制曲線y1=2e-0.5x和 ,并添加圖形標注。程序如下:x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2);title(x from 0 to 2pi); %加圖形標題xlabel(Variable X); %加X軸說明ylabel(Variable Y); %加Y軸說明text(0.8,1.5,曲線y1=2e-0.5x); %在指定位置添加圖形說明text(2.5,1.1,曲線y2=cos(4pix); legend(y1, y2) %加圖例例:x=0:pi/10:2*pi;y1=sin(
17、x);y2=cos(x);plot(x,y1,x,y2)grid on %添加網格xlabel(Independent Variable X)ylabel(Dependent Variable Y1&Y2)title(Sin and Cosine Curve)text(1.5,0.3,cos(x)gtext(sin(x)axis(0 6 -1 1)例:在同一窗口中繪制線段。x=0:pi/10:2*pi;y1=sin(x);y2=cos(x);y3=x;plot(x,y1,r,x,y2,b)hold on %hold off 與位置有關?plot(x,y3,m)plot(x,y2+y1, b)%
18、 hold on保持原有圖形%hold off刷新原有圖形 例 在同一坐標中,可以繪制3個同心圓,并加坐標控制。 t=0:0.01:2*pi;%行向量 x=exp(i*t); y=x;2*x;3*x;%分別以實部和虛部為橫、縱坐標 plot(y) grid on; %加網格線 box on; %加坐標邊框 axis equal %坐標軸采用等刻度三維圖形三維線條圖plot3函數與plot函數用法十分相似,其調用格式為:plot3(x1,y1,z1,選項1,x2,y2,z2,選項2,xn,yn,zn,選項n) 其中每一組x,y,z組成一組曲線的坐標參數,選項的定義和plot函數相同。當x,y,z
19、是同維向量時,則x,y,z 對應元素構成一條三維曲線。當x,y,z是同維矩陣時,則以x,y,z對應列元素繪制三維曲線,曲線條數等于矩陣列數。例:繪制下面方程在t=0 ,2的空間圖形。x=0:pi/10:2*pi;y1=sin(x);y2=cos(x);plot3(x,y1,y2,m:p)grid onxlabel(Dependent Variable Y1)ylabel(Dependent Variable Y2)zlabel(Dependent Variable X)title(Sine and Cosine Curve)注: legend 不可用于三維圖形第四章 科學計算一、曲線擬合 po
20、lyfit函數的調用格式為: P,S= polyfit (X,Y,m ) 函數根據采樣點X和采樣點函數值Y,產生一個m次多項式P及其在采樣點的誤差向量S。 其中X, Y是兩個等長的向量,P是一個長度為m+1的向量,P的元素為多項式系數。4.1 數據處理注:用 polyfit 函數來求得最小二乘擬合多項式的 系數,再用 polyval 函數按所得的多項式計算所給出點上的函數近似值。二、數值插值 interpolation 1.一維數據插值 其調用格式為: Y1=interp1(X,Y,X1,method) 函數根據X,Y的值,計算函數在X1處的值。X,Y是兩個等長的已知向量,分別描述采樣點和樣本
21、值,X1是一個向量或標量,描述欲插值的點,Y1是一個與X1等長的插值結果 method是插值方法,允許的取值有linear、nearest、cubic、spline。注意: X1的取值范圍不能超出X的給定范圍,否則,會給出“NaN”錯誤。 MATLAB中有一個專門的3次樣條插值函數Y1=spline(X,Y,X1),其功能及使用方法與函數Y1=interp1(X,Y,X1,spline)完全相同。2. 二維數據插值其調用格式為: Z1=interp2(X,Y,Z,X1,Y1,method) 其中X, Y是兩個向量,分別描述兩個參數的采樣點,Z是與參數采樣點對應的函數值,X1,Y1是兩個向量或標
22、量,描述欲插值的點。Z1是根據相應的插值方法得到的插值結果。 注: method的取值與一維插值函數相同。X, Y, Z也可以是矩陣形式。 同樣,X1,Y1的取值范圍不能超出X,Y的給定范圍,否則,會給出“NaN”錯誤。例 某觀測站測得某日6:00時至18:00時之間每隔2小時的室內外溫度(),用3次樣條插值分別求得該日室內外6:30至17:30時之間每隔2小時各點的近似溫度()。 設時間變量h為一行向量,溫度變量t為一個兩列矩陣,其中第一列存放室內溫度,第二列儲存室外溫度。命令如下:h =6:2:18;t=18,20,22,25,30,28,24;15,19,24,28,34,32,30;X
23、 =6.5:2:17.5Y=interp1(h,t,X,spline) %用3次樣條插值計算例 某實驗對一根長10米的鋼軌進行熱源的溫度傳播測試。用x表示測量點0:2.5:10(米),用h表示測量時間0:30:60(秒),用T表示測試所得各點的溫度()。試用線性插值求出在一分鐘內每隔20秒、鋼軌每隔1米處的溫度TI。x=0:2.5:10;h=0:30:60;T=95,14,0,0,0;88,48,32,12,6;67,64,54,48,41;xi=0:10;hi=0:20:60;Ti=interp2(x,h,T,xi,hi) 多項式是形如下式的式子:P(x)=a0 xn+a1xn-1+an-1
24、x+an多項式用行向量表示:Pa0 a1 a2an-1 an多項式行向量的構造直接鍵入用命令poly(a) 來生成以a為特征值的特征多項式注:如果a=x0 x1xn-1 xn,由命令poly(a)可生成(x-x0)(x-x1)(x-xn-1)(x-xn)所對應的多項式的系數。也就是由給定的根創建多項式。4. 2多項式及其運算 polynomial1.多項式的建立例:已知向量A=1 34 80,用此向量構造一多項式并顯示結果。A=1 -34 -80;PA=poly(A)PA = 1 113 2606 -2720PAX=poly2sym(PA,X)PAX = X3+113*X2+2606*X-27
25、202.多項式求根多項式求根可用roots函數。例:求多項式p(x)=2x4-6x3+3x2+0 x+7的根。p=2 -6 3 0 7;x=roots(p)x = 1.9322 + 0.4714i 1.9322 - 0.4714i -0.4322 + 0.8355i -0.4322 - 0.8355i3.多項式求值采用polyval函數可以求出當多項式中的未知數為某個特定值時該多項式的值。例:求上例中x=1時的值。p=2 -6 3 0 7;polyval(p,1)ans = 64.多項式的四則運算多項式的加減法運算符注:進行加減運算的多項式應該具有相同的階次,如果階次不同,低階的多項式必須用零
26、添補至高階多項式的階次。例:求兩個多項式a(x)=5x4+4x3+3x2+2x+1和b(x)=3x2+1的和。 a=5 4 3 2 1;b=3 0 1; c=a+0 0 b c = 5 4 6 2 2多項式的乘除法多項式乘除法分別對應多項式的卷積(convolution)和解卷(deconvolution)運算。乘法采用conv函數。接上例 d=conv(a,b) d = 15 12 14 10 6 2 1除法由deconv函數完成,結果包括商(quotient)和余數(remainder)兩部分。 q,r=deconv(P1,P2)用于對多項式P1和P2作除法運算。其中q返回多項式P1除以P
27、2的商式(商向量),r返回P1除以P2的余式(余向量)。這里,q和r仍是多項式系數向量。deconv是conv的逆函數,即有P1=conv(P2,q)+r。5.多項式的導數 polynomial derivative函數polyder例:求多項式p(x)=2x4-6x3+3x2+7的導數。p=2 -6 3 0 7;q=polyder(p)q = 8 -18 6 0pd=poly2sym(q,x)pd =8*x3-18*x2+6*x常用的多項式函數函數功能roots求多項式的根poly用根構造多項式polyval計算多項式的值polyvalm計算參數為矩陣的多項式的值residue部分分式展開p
28、olyfit多項式數據擬合polyder導數conv乘法deconv除法4.3 MATLAB符號計算1.創建符號變量兩個建立符號對象的函數:sym和syms,兩個函數的用法不同。(1) sym函數sym函數用來建立單個符號量,一般調用格式為: 符號量名=sym(符號字符串) 該函數可以建立一個符號量,符號字符串可以是常量、變量、函數或表達式。 (2) syms函數 函數syms,一次可以定義多個符號變量。調用格式為: syms 符號變量名1 符號變量名2 符號變量名n 用這種格式定義符號變量時不要在變量名上加字符串分界符(),變量間用空格而不要用逗號分隔。例 a=sym(a);b=sym(b)
29、;c=sym(c); syms a b c 2建立符號表達式和符號矩陣建立符號表達式有以下2種方法:(1)用sym函數建立符號表達式。(2) 使用已經定義的符號變量組成符號表達式。 f=sym(a*x2+b*x+c) f = a*x2+b*x+c syms x a b c f=a*x2+b*x+cf = a*x2+b*x+c創建符號矩陣的方法同創建符號表達式如: syms a11 a12 a21 a22 A=a11 a12;a21 a22 A = a11, a12 a21, a22A=sym(a11 a12;a21 a22) A = a11, a12 a21, a223 符號運算factor(
30、f):對符號表達式f分解因式。expand(f):對符號表達式f進行展開。collect(f,x):對符號表達式f按變量x合并同類項。transpose(s):返回符號矩陣s的轉置矩陣。s:返回符號矩陣s的共軛轉置矩陣。det 、diag、triu、tril、inv、rank、eig等4 符號函數的極限limit(f,x,a):求符號函數f(x)的極限值。即計算當變量x趨近于常數a時,f(x)函數的極限值。注:其中a可以為一個確定的數,也可以為無窮大。在應用時,先用syms命令把x聲明為符號變量.(2) limit(f,x,a,right):求符號函數 f 的極限值。right表示變量x從右邊
31、趨近于a。(3) limit(f,x,a,left):求符號函數 f 的極限值。left表示變量x從左邊趨近于a。例如:求極限 syms x limit(sin(x)/x,x,0)ans =1 syms x limit(1/x,x,0,left) ans = -inf limit(1/x,x,0,right) ans = inf5 符號函數的微分diff函數用于對符號表達式求微分(導數)。diff(f, x,n):以x為自變量,對符號表達式f求n階導數, n為正整數。 syms x diff(x*cos(x),x) ans = cos(x)-x*sin(x) diff(x*cos(x),x,2
32、) ans = -2*sin(x)-x*cos(x) 6 積分運算 integral 符號積分由函數int來實現。int(f,x):以x為自變量,對被積函數或符號表達式f求不定積分。int(f,x,a,b):求定積分運算。a,b分別表示定積分的下限和上限。該函數求被積函數在區間a,b上的定積分。a和b可以是兩個具體的數,也可以是一個符號表達式,還可以是無窮(inf)。當函數f關于變量x在閉區間a,b上可積時,函數返回一個定積分結果。當a,b中有一個是inf 時,函數返回一個廣義積分。當a,b中有一個符號表達式時,函數返回一個符號函數。 syms x int(1/(x2+1),x)ans =atan(x) syms x t; f1=x2/(x+1); a1=int(f1,1,2) a1 = log(3)+1/2-log(2) f2=1/(x2+1) ; a2=int(f2, x, -inf,inf)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育改革中的骨干教師心得體會
- 顳部小切口除皺術聯合自體脂肪面部移植的應用及療效評價
- 長安購物中心客戶關系管理策略優化研究
- 四川省巴中中學2024-2025學年高一下學期3月月考歷史試題
- 基于深度學習的風力發電超短期功率預測
- 金屬有機Pt(Ⅱ)配合物的合成、發光性質及應用研究
- 注冊制背景下永煤控股債券違約風險治理研究
- 心理健康教育課題研究報告范文
- 幼小銜接中情感教育的心得體會
- 體育協會的職責及其組織結構
- 巨量信息流廣告(初級)營銷師認證考試題及答案
- 《黃磷尾氣發電鍋爐大氣污染物排放標準》
- 學校食堂食品安全培訓課件
- 醫療信息化與成本-洞察分析
- 《建設工程施工合同(示范文本)》(GF-2017-0201)
- 2023年非車險核保考試真題模擬匯編(共396題)
- 陜西省西安市鐵一中2024-2025學年七年級上學期英語期中考試英語卷
- 園林花卉 課件 第五章 室內花卉
- 2024年事業單位考試題庫及答案(共200題)
- DB65-T 4751-2023 重大活動氣象服務規范
- 水工維護高級工技能鑒定理論考試題庫(含答案)
評論
0/150
提交評論