第六講Matlab數(shù)據(jù)可視化_第1頁
第六講Matlab數(shù)據(jù)可視化_第2頁
第六講Matlab數(shù)據(jù)可視化_第3頁
第六講Matlab數(shù)據(jù)可視化_第4頁
第六講Matlab數(shù)據(jù)可視化_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第六講Matlab數(shù)據(jù)可視化

及其在測(cè)繪中應(yīng)用內(nèi)容提要1.平面曲線繪制2.符號(hào)變量和符號(hào)函數(shù)3.三維曲線繪制4.三維曲面繪制5.數(shù)據(jù)可視化在測(cè)繪中應(yīng)用一、平面曲線繪制1.單窗口多曲線繪圖figure%默認(rèn)打開一個(gè)窗口,可以省略

t=0:pi/100:2*pi;

y1=sin(t);y2=sin(t+0.25);y3=sin(t+0.5);

subplot(1,3,1);plot(t,y1);%執(zhí)行subplot(1,3,1);會(huì)自動(dòng)打開

subplot(1,3,2);plot(t,y2);

subplot(1,3,3);plot(t,y3);subplot(3,1,1);

%自動(dòng)打開一個(gè)窗口

plot(t,y1);

subplot(3,1,2);

plot(t,y2);

subplot(3,1,3);

plot(t,y3);

原來的窗口里面的圖形沒有啦!

2.多窗口多曲線繪圖

figure(n)——?jiǎng)?chuàng)建窗口函數(shù),n為窗口順序號(hào)。t=0:pi/100:2*pi;y1=sin(t);y2=sin(t+0.25);y3=sin(t+0.5);plot(t,y1)——自動(dòng)出現(xiàn)第一個(gè)窗口figure(2)plot(t,y2)——在第二窗口繪圖figure(3)plot(t,y3)——在第三窗口繪圖注意:如果不這樣呢?會(huì)咋樣?3.圖形加注功能

若將標(biāo)題、坐標(biāo)軸標(biāo)記、網(wǎng)格線及文字注釋加注到圖形上,常用函數(shù)為:

title——給圖形加標(biāo)題

xlable——給x軸加標(biāo)注

ylable——給y軸加標(biāo)注

text——在圖形指定位置加標(biāo)注

gtext——將標(biāo)注加到圖形任意位置

gridon(off)——打開、關(guān)閉坐標(biāo)網(wǎng)格線

legend——添加圖例

axis——控制坐標(biāo)軸的刻度注:也可以直接在figure窗口進(jìn)行鼠標(biāo)操作例:t=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=[‘sin(t)’;‘cos(t)’];%定義符號(hào)矩陣text(x,y,s);%指定位置加標(biāo)注title('正弦和余弦曲線');legend('正弦','余弦')xlabel('時(shí)間t');ylabel('正弦、余弦');%自動(dòng)打開gridaxissquaregridoff

注意:axis的用法還有:axis([xminxmaxyminymax])——用行向量中給出的值設(shè)定坐標(biāo)軸的最大和最小值。如axis([-2205])axisequal——將兩坐標(biāo)軸設(shè)為相等

axison(off)——顯示和關(guān)閉坐標(biāo)軸的標(biāo)記、標(biāo)志

4.繪制函數(shù)圖像的函數(shù)

plot最基本的二維繪圖函數(shù)

fplot的調(diào)用格式:

fplot(‘funname’,lims)—繪制函數(shù)fun在x區(qū)間

lims=[xminxmaxyminymax]的函數(shù)圖。fplot(‘funname’,lims,‘s')—以指定線形繪圖。fplot('[sin(x),tan(x),cos(x)]',2*pi*[-11-11])5.常用特殊二維繪圖函數(shù)

bar––––繪制直方圖polar––––繪制極坐標(biāo)圖hist––––繪制統(tǒng)計(jì)直方圖rose––––繪制統(tǒng)計(jì)扇形圖

errorbar––––繪制誤差棒圖

area––––區(qū)域圖pie––––餅圖scatter––––離散點(diǎn)圖

例:繪制極坐標(biāo)繪圖t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)x=-1.7∶0.2∶1.7;y=[00.0550.0850.1800.2350.3200.4600.5600.630

0.6400.5750.4600.2950.2250.1800.0700.0300];bar(x,y,1,′b′)%每個(gè)直方條的寬度是1,默認(rèn)0.8,大于1會(huì)重疊根據(jù)偶然誤差Δ服從Δ~N(0,σ2),可以應(yīng)用MATLAB繪制出均方差為σ=1,σ=2的正態(tài)分布概率密度函數(shù)的誤差分布曲線,具體為x=-4∶0.1∶4;y1=normpdf(x,0,1);y2=normpdf(x,0,2);holdon%如果你在新畫圖像之后不想覆蓋原圖像就要加上holdonplot(x,y1,′r′)plot(x,y2,′b′)holdoff例:繪制直方圖t=0:0.2:2*pi;y=cos(t);bar(t,y)a=rand(200,1);b=rand(200,1);

c=rand(200,1);

scatter(a,b,100,c,'p')%改一下再繪制測(cè)量平差中誤差橢圓的繪制平差后任一待定點(diǎn)坐標(biāo)平差值可以計(jì)算出,而且可計(jì)算出,據(jù)此可計(jì)算未知點(diǎn)平差后的坐標(biāo),以及誤差橢圓的三要素:長(zhǎng)半軸E,短半軸F,極大值方向。functionellipse(x,y,A,B,angle)%參數(shù)說明:x,y-橢圓中點(diǎn)的橫縱坐標(biāo);A,B-橢圓長(zhǎng)短軸;angle-橢圓旋轉(zhuǎn)角度%該函數(shù)可以通過無數(shù)個(gè)點(diǎn)的繪制,實(shí)現(xiàn)任意方向誤差橢圓的繪制。plot(y+A*sin(angle)*cos(0:pi/360:2*pi)+B*cos(angle)*sin(0:pi/360:2*pi),x+A*cos(angle)*cos(0:pi/360:2*pi)-B*sin(angle)*sin(0:pi/360:2*pi));axis('equal');xlabel('x');ylabel('y');title('eclipse');運(yùn)行ellipse(400,400,100,50,pi/4)對(duì)某點(diǎn)進(jìn)行位移觀測(cè),得到8個(gè)不同時(shí)間的位移值,見下表,試進(jìn)行傅立葉變換,并作出頻譜圖。表5.1觀測(cè)數(shù)據(jù)時(shí)間k 0

1

2

3

4

5

6

7位移f(k) 2.33.03.84.25.14.53.21.8clearloadcount.txt

p=count';

t=[0:length(p)-1];p1=polyfit(t',p,7);

f=polyval(p1,t);

subplot(2,2,1);

plot(t',p,'o',t,f,'-');

title('原始數(shù)據(jù)采用多面擬合')xlabel('時(shí)間序列')

ylabel('沉降值')pval=p-f';subplot(2,2,2)plot(t',pval)title('去除逐勢(shì)項(xiàng)后')xlabel('時(shí)間序列')ylabel('去除逐勢(shì)項(xiàng)后值')ffty=fft(pval);%進(jìn)行傅里葉變換%計(jì)算能量值m=abs(ffty);f=(0:length(t)-1)*20/length(t);%繪出頻域分析結(jié)果圖subplot(2,2,3)plot(f,m)title('頻域分析')xlabel('頻率值')ylabel('能量')二、符號(hào)變量、符號(hào)表達(dá)式、符號(hào)函數(shù)創(chuàng)建符號(hào)變量1.生成符號(hào)變量例:symsabxXY;

k=sym('3');z=sym(‘c*sqrt(delta)+y*sin(theta)’);

%將字符串表達(dá)式變成符號(hào)變量

EXPR=a*z*X+(b*x^2+k)*Y;

%創(chuàng)建符號(hào)數(shù)學(xué)函數(shù)說明:前兩條指令定義abxXY是符號(hào)變量,定義后就可以參加后面的符號(hào)計(jì)算了。定義了符號(hào)變量后,就可以進(jìn)行符號(hào)運(yùn)算,否則不行

例:用符號(hào)變量代表黃金分割比率:rho=sym('(1+sqrt(5))/2');%定義符號(hào)表達(dá)式

%下面可以對(duì)rho進(jìn)行各種操作了。f=rho^2-rho-1simple(f)simplify(f)simplify和simple是Matlab符號(hào)數(shù)學(xué)工具箱提供的兩個(gè)簡(jiǎn)化函數(shù),區(qū)別如下:

simplify的調(diào)用格式為:simplify(S);對(duì)表達(dá)式S進(jìn)行化簡(jiǎn)。

simple是通過對(duì)表達(dá)式嘗試多種不同的方法(包括simplify)進(jìn)行化簡(jiǎn),以尋求符號(hào)表達(dá)式S的最簡(jiǎn)形式。

例:求矩陣A=[a11,a12,a13;a21,a22,a23;a31,a32,a33]的行列式值、逆和特征根

symsa11a12a13a21a22a23a31a32a33;%每個(gè)變量間用空格分開!A=[a11a12a13;a21a22a23;a31a32a33],DA=det(A),IA=inv(A),EA=eig(A)定義多個(gè)符號(hào)變量用syms,定義單個(gè)可用sym,也可用syms但定義多個(gè)不能用sym2.實(shí)型和復(fù)型符號(hào)函數(shù)的創(chuàng)建sym命令可以確定符號(hào)變量的數(shù)學(xué)屬性,通過real選項(xiàng)實(shí)現(xiàn)。也就是說,下列指令包含了符號(hào)變量x和y,并有附加了數(shù)學(xué)特性。x=sym('x','real');y=sym('y','real');或采用更有效的方式定義:symsxyrealz=x+i*y;這意味著表達(dá)式f=x^2+y^2嚴(yán)格非負(fù),因此z是一個(gè)復(fù)變量,可以做如下操作。conj(x),conj(z)

%返回相應(yīng)變量的共軛復(fù)數(shù)。

例1考察符號(hào)變量和數(shù)值變量的差別。在MATLAB命令窗口,輸入命令:a=sym('a');b=sym('b');c=sym('c');d=sym('d');

%定義4個(gè)符號(hào)變量

w=10;x=5;y=-8;z=11;%定義4個(gè)數(shù)值變量

A=[a,b;c,d]%建立符號(hào)矩陣A

B=[w,x;y,z]%建立數(shù)值矩陣B

det(A)%計(jì)算符號(hào)矩陣A的行列式

det(B)%計(jì)算數(shù)值矩陣B的行列式例2比較符號(hào)常數(shù)與數(shù)值在代數(shù)運(yùn)算時(shí)的差別。在MATLAB命令窗口,輸入命令:pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('3');%定義符號(hào)常數(shù)pi2=pi;

r1=8;

r2=2;

r3=3;%定義數(shù)值變量sin(pi1/3)%計(jì)算符號(hào)表達(dá)式值sin(pi2/3)%計(jì)算數(shù)值表達(dá)式值sqrt(k1)%計(jì)算符號(hào)表達(dá)式值sqrt(r1)%計(jì)算數(shù)值表達(dá)式值sqrt(k3+sqrt(k2))%計(jì)算符號(hào)表達(dá)式值sqrt(r3+sqrt(r2))%計(jì)算數(shù)值表達(dá)式值3.符號(hào)函數(shù)的簡(jiǎn)易繪圖函數(shù)ezplot的調(diào)用格式:

ezplot(f)—這里f為包含單個(gè)符號(hào)變量x

的符號(hào)表達(dá)式,在x軸的默認(rèn)范圍

[-2*pi2*pi]內(nèi)繪制f(x)的函數(shù)圖

ezplot(f,xmin,xmax)—給定區(qū)間

ezplot(f,[xmin,xmax],figure(n))—指定

繪圖窗口繪圖。ezplot('sin(x)')

ezplot('sin(t)','cos(t)',[-4*pi4*pi],figure(2))三、三維曲線圖繪制plot3——基本的三維圖形指令調(diào)用格式:plot3(x,y,z)——x,y,z是長(zhǎng)度相同的向量plot3(X,Y,Z)——X,Y,Z是維數(shù)相同的矩陣plot3(x,y,z,’s’)plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)二維圖形的所有基本特性對(duì)三維圖形全都適用。定義三維坐標(biāo)軸大小axis([xminxmaxyminymaxzminzmax])gridon(off)

繪制三維曲線的網(wǎng)格子圖和多窗口等也可以用到三維圖形中例:繪制三維線圖t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')四、三維曲面圖繪制1.三維網(wǎng)格線繪圖mesh——三維網(wǎng)格線繪圖函數(shù)調(diào)用格式:

mesh(z)——z為n×m的矩陣,x與y坐標(biāo)為元素的下標(biāo)

mesh(x,y,z)——x,y,z分別為三維空間的坐標(biāo)位置例,矩陣的三維網(wǎng)線圖

z=rand(6);

0.88080.07290.41680.76940.37750.47760.33810.71010.09640.63520.38260.70860.18950.87910.67470.89650.68760.23800.74310.35940.56260.87840.12170.39100.71890.08990.81300.48650.07680.97590.87920.16100.87820.11310.14330.6288

z=round(z)

100100010101011110101100101001101001

mesh(z);mesh(z)

2.三維曲面圖surf——三維曲面繪圖函數(shù)。三維曲面圖繪制與三維網(wǎng)格圖繪制看起來似乎一樣。但也有區(qū)別:網(wǎng)格線圖:線條有顏色,空擋是無色的;曲面圖:線條是黑色的,空擋有顏色(把線條之間的空擋可填充顏色,且可沿z軸按每一網(wǎng)格變化調(diào)用格式:surf(x,y,z)——繪制三維曲面圖,x,y,z為圖形坐標(biāo)向量或矩陣。例:[X,Y,Z]=peaks(30);%peaks為matlab自動(dòng)生成的三維測(cè)試圖形,產(chǎn)生三個(gè)30×30元素在[-3,3]中服從guassian分布的矩陣surf(X,Y,Z)

surfc(X,Y,Z)—帶等高線的曲面圖[X,Y,Z]=peaks(30);surfc(X,Y,Z)surfl(X,Y,Z)——被光照射帶陰影的曲面圖[X,Y,Z]=peaks(30);surfl(X,Y,Z)視角函數(shù):view(az,el)az----方位角;el----俯視角省缺值為:az=-37.5;el=30例。觀察不同視角的波峰圖形z=peaks(40);subplot(2,2,1);mesh(z);subplot(2,2,2);mesh(z);view(-15,60);subplot(2,2,3);mesh(z);view(-90,0);subplot(2,2,4);mesh(z);view(-7,-10);

M文件函數(shù)(Mfilefunction)

內(nèi)聯(lián)函數(shù)(InlineFunction)匿名函數(shù)(AnonymousFunction)自定義函數(shù)的三個(gè)途徑:

M文件函數(shù):函數(shù)文件形式建立的自定義函數(shù)也稱為永久函數(shù)

定義的一般格式:function

輸出形參列表=函數(shù)名(輸入形參列表)%注釋說明部分(可選)函數(shù)體語句(必須)例:做如下函數(shù)文件:myfunc.mfunctiony=myfunc(x)y=x^2;myfunc(2) %計(jì)算在x=2處的函數(shù)值

ezplot('myfunc') %作函數(shù)圖像fplot('myfunc',[-5,5],'r')

%注意到:上邊兩個(gè)命令中的文件名仍需加單引號(hào)M文件函數(shù)(Mfilefunction)

inline函數(shù)也稱為內(nèi)聯(lián)函數(shù)或內(nèi)嵌函數(shù)或在線函數(shù)一般格式:

函數(shù)名=inline('函數(shù)表達(dá)式','變量1','變量2',...)

例:

f=inline('x^2','x'); %定義了函數(shù)f(x)=x^2

f(2)

%計(jì)算在x=2處的函數(shù)值

ezplot(f); %作函數(shù)圖像fplot(f,[0,5],'r');

%注意到:當(dāng)f是內(nèi)聯(lián)函數(shù)時(shí),上邊兩個(gè)命令中的f不再加單引號(hào)。內(nèi)聯(lián)函數(shù)(InlineFunction)由@定義的函數(shù)稱為匿名函數(shù)或臨時(shí)函數(shù)。@是函數(shù)的指針,也稱為函數(shù)句柄。效率優(yōu)于inline函數(shù),建議今后用匿名函數(shù)取代inline函數(shù)。一般格式:

函數(shù)句柄=@(輸入變量)函數(shù)表達(dá)式例:

f=@(x)x^2

%定義了函數(shù)f(x)=x^2

f(2)

%計(jì)算在x=2處的函數(shù)值

ezplot(f); %作函數(shù)圖像fplot(f,[0,5],'r');

%注意到:當(dāng)f是匿名函數(shù)時(shí),上邊兩個(gè)命令中的f也不再加單引號(hào)。匿名函數(shù)(AnonymousFunction)標(biāo)準(zhǔn)正態(tài)分布a=randn(1,10000);hist(a,100)holdonx=-5:0.1:5;plot(x,(2*pi)^(-1/2)*800*exp(-x.^2/2),'r')函數(shù)優(yōu)化尋優(yōu)函數(shù):fminbnd——單變量函數(shù)fminsearch

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論