實驗二二維/三維資料的視覺化
一、實驗目的
熟悉掌握簡單的圖形繪製函式;掌握matlab常用的二維、三維圖形及其他圖形繪製函式的使用方法;熟悉圖形控制代碼的使用。
二、實驗環境
硬體環境:計算機一台
軟體環境:matlab 6.0
三、實驗內容
作為乙個功能強大的工具軟體,matlab具有很強的圖形處理功能,提供了大量的二維、三維圖形函式。由於系統採用物件導向的技術和豐富的矩陣運算,所以在圖形處理方面即常方便又高效。
1、二維繪圖
(1)plot函式
函式格式:plot(x,y) 其中x和y為座標向量
函式功能:以向量x、y為軸,繪製曲線。
例1 在區間0≤x≤2內,繪製正弦曲線y=sin(x),其程式為:
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)
例2同時繪製正、余弦兩條曲線y1=sin(x)和y2=cos(x),其程式為:
x=0:pi/100:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2)
plot函式還可以為plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x為x軸,分別以y1,y2,y3,…為y軸,在同一幅圖內繪製出多條曲線。
例3 用不同線型和顏色重新繪製y1=sin(x)和y2=cos(x),其程式為:
x=0:pi/100:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'go',x,y2,'b-.')
其中引數'go'和'b-.'表示圖形的顏色和線型。g表示綠色,o表示圖形線型為圓圈;b表示藍色,-.表示圖形線型為點劃線。
在繪製圖形的同時,可以對圖形加上一些說明,如圖形名稱、圖形某一部分的含義、座標說明等,將這些操作稱為新增圖形標記。
title(『加圖形標題');
xlabel('加x軸標記');
ylabel('加y軸標記
text(x,y,'新增文字');
例4 在座標範圍0≤x≤2π,-2≤y≤2內重新繪製正弦曲線,其程式為:
x=linspace(0,2*pi,60);生成含有60個資料元素的向量x
y=sin(x);
plot(x,y);
axis ([0 2*pi -2 2]);設定座標軸範圍
2、subplot函式
(1)subplot(m,n,p)
該命令將當前圖形視窗分成m×n個繪圖區,即每行n個,共m行,區號按行優先編號,且選定第p個區為當前活動區。
例5 在乙個圖形視窗中同時繪製正弦、余弦、正切、餘切曲線,程式為:
x=linspace(0,2*pi,60);
y=sin(x);
z=cos(x);
t=sin(x)./(cos(x)+eps); eps為系統內部常數
ct=cos(x)./(sin(x)+eps);
subplot(2,2,1); 分成2×2區域且指定1號為活動區
plot(x,y);
title('sin(x
axis ([0 2*pi -1 1
subplot(2,2,2);
plot(x,z);
title('cos(x)');
axis ([0 2*pi -1 1]);
subplot(2,2,3);
plot(x,t);
title('tangent(x)');
axis ([0 2*pi -40 40]);
subplot(2,2,4);
plot(x,ct);
title('cotangent(x)');
axis ([0 2*pi -40 40]);
(2)多圖形視窗
需要建立多個圖形視窗,繪製並保持每乙個視窗的圖形,可以使用figure命令。
每執行一次figure命令,就建立乙個新的圖形視窗,該視窗自動為活動視窗,若需要還可以返回該視窗的識別號碼,稱該號碼為控制代碼。控制代碼顯示在圖形視窗的標題欄中,即圖形視窗標題。使用者可通過控制代碼啟用或關閉某圖形視窗,而axis、xlabel、title等許多命令也只對活動視窗有效。
(3)hold命令
若在已存在圖形視窗中用plot命令繼續新增新的圖形內容,可使用圖形保持命令hold。發出命令hold on後,再執行plot命令,在保持原有圖形或曲線的基礎上,新增新繪製的圖形。
閱讀如下程式:
x=linspace(0,2*pi,60);
y=sin(x);
z=cos(x);
plot(x,y,'b繪製正弦曲線
hold on設定圖形保持狀態
plot(x,z,'g保持正弦曲線同時繪製余弦曲線
axis ([0 2*pi -1 1]);
legend('cos','sin');
hold off關閉圖形保持
3、 函式f(x)曲線
fplot函式則可自適應地對函式進行取樣,能更好地反應函式的變化規律。
fplot函式格式:fplot(fname,lims,tol)
其中fname為函式名,以字串形式出現,lims為變數取值範圍,tol為相對允許誤差,其其系統預設值為2e-3。
例:fplot(『sin(x)』,[0 2*pi
fplot(『[sin(x),cos(x)]』,[0 2*pi],1e-3,』·』) 同時繪製正弦、余弦曲線
4、特殊座標圖形
1)對數座標圖形
(1)loglog(x,y) 雙對數座標
例6 繪製y=|1000sin(4x)|+1的雙對數座標圖。程式為:
x=[0:0.1:2*pi];
y=abs(1000*sin(4*x))+1;
loglog(x,y); 雙對數座標繪圖命令
(2)單對數座標
以x軸為對數重新繪製上述曲線,程式為:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogx(x,y); 單對數x軸繪圖命令
同樣,可以以y軸為對數重新繪製上述曲線,程式為:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogy(x,y); 單對數y軸繪圖命令
(3)極座標圖
函式polar(theta,rho)用來繪製極座標圖,theta為極座標角度,rho為極座標半徑
例7 繪製sin(2*θ)*cos(2*θ)的極座標圖,程式為:
theta=[0:0.01:2*pi];
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho); 繪製極座標圖命令
title('polar plot');
5、其它圖形函式
除plot等基本繪圖命令外,matlab系統提供了許多其它特殊繪圖函式,這裡舉一些代表性例子,更詳細的資訊使用者可隨時查閱**幫助,其對應的m-file檔案存放在系統\matlab\toolbox\matlab目錄下。
(1)、階梯圖形
函式stairs(x,y)可以繪製階梯圖形,如下列程式段:
x=[-2.5:0.25:2.5];
y=exp(-x.*x);
stairs(x,y); 繪製階梯圖形命令
title('stairs plot');
(2)、條形圖形
函式bar(x,y)可以繪製條形圖形,如下列程式段將繪製條形圖形
x=[-2.5:0.25:2.5];
y=exp(-x.*x);
bar(x,y); 繪製條形圖命令
(3)、填充圖形
fill(x,y,』c』)函式用來繪製並填充二維多邊圖形,x和y為二維多邊形頂點座標向量。字元 』c』 規定填充顏色,其取值前已敘述。
下述程式段繪製一正方形並以黃色填充:
x=[0 1 1 0 0]; 正方形頂點座標向量
y=[0 0 1 1 0];
fill(x,y,'y');繪製並以黃色填充正方形圖
再如:x=[0:0.025:2*pi];
y=sin(3*x);
fill(x,y,[0.5 0.3 0.4]); 顏色向量
matlab系統可用向量表示顏色,通常稱其為顏色向量。基本顏色向量用[r g b]表示,即rgb顏色組合;以rgb為基本色,通過 r,g,b在0~1範圍內的不同取值可以組合出各種顏色。
6、三維繪圖
1、 plot3函式
最基本的三維圖形函式為plot3,它是將二維函式plot的有關功能擴充套件到三維空間,用來繪製三維圖形。
函式格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)
其中x1,y1,z1…表示三維座標向量,c1,c2…表示線形或顏色。
函式功能:以向量x,y,z為座標,繪製三維曲線。
例8 繪製三維螺旋曲線,其程式為:
t=0:pi/50:10*pi;
y1=sin(t),y2=cos(t);
plot3(y1,y2,t);
title('helix'),text(0,0,0,'origin');
xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');
grid;
2、mesh函式
mesh函式用於繪製三維網格圖。在不需要繪製特別精細的三維曲面結構圖時,可以通過繪製三維網格圖來表示三維曲面。三維曲面的網格圖最突出的優點是:
它較好地解決了實驗資料在三維空間的視覺化問題。
函式格式:mesh(x,y,z,c)
其中x,y控制x和y軸座標,矩陣z是由(x,y)求得z軸座標,(x,y,z)組成了三維空間的網格點;c用於控制網格點顏色。
例9 下列程式繪製三維網格曲面圖
x=[0:0.15:2*pi];
y=[0:0.15:2*pi];
z=sin(y')*cos(x); 矩陣相乘
mesh(x,y,z);
3、surf函式
surf用於繪製三維曲面圖,各線條之間的補面用顏色填充。surf函式和mesh函式的呼叫格式一致。
函式格式: surf (x,y,z)
其中x,y控制x和y軸座標,矩陣z是由x,y求得的曲面上z軸座標。
例10 下列程式繪製三維曲面圖形
x=[0:0.15:2*pi];
y=[0:0.15:2*pi];
z=sin(y')*cos(x); 矩陣相乘
surf(x,y,z);
xlabel('x-axis'),ylabel('y-axis'),zlabel('z-label');
專案管理軟體應用實驗 實驗指導書
浙江工商大學工商管理學院第學期實驗指導書 課程名稱 現代管理方法與應用實驗專案名稱 專案管理軟體應用實驗老師姓名 胡永銓 課時 2日期 一.實驗目的 現代專案管理必須使用先進的管理軟體,microsoft project是乙個國際上享有盛譽的通用的專案管理工具軟體,凝集了許多成熟的專案管理現 論和方...
Matlab軟體應用與開發實驗指導書
一 實驗型別 驗證型 二 實驗類別 基礎實驗 三 每組人數 1 四 實驗要求 選修 五 實驗學時 3個學時 六 實驗目的 1 熟悉matlab軟體中關於矩陣運算的各種命令 2 學會運用matlab軟體自定義函式,並求出函式值 3 學會在matlab環境下編寫函式。七 預備知識 線性代數中的矩陣運算 ...
軟體需求分析實驗指導書
軟體需求分析 實驗指導書 軟體工程系 目錄實驗1 軟體功能描述與確認 驗證性實驗 4 一 實驗目的與要求 4 二 實驗環境 4 三 實驗預習與準備 4 四 實驗內容和步驟 4 五 實驗報告要求 5 六 實驗注意事項 5 七 思考題 5 實驗2 從程式設計看軟體需求 綜合設計性實驗 6 一 實驗目的與...