二維平面繪圖

2023-01-02 02:51:03 字數 3010 閱讀 1014

3.基本xy平面繪圖命令

matlab不但擅長於矩陣相關的數值運算,也適合用在各種科學目視表示(scientific visualization)。

本節將介紹matlab基本xy平面及xyz空間的各項繪圖命令,包含一維曲線及二維曲面的繪製、列印及存檔。

plot是繪製一維曲線的基本函式,但在使用此函式之前,我們需先定義曲線上每一點的x 及y座標。

下例可畫出一條正弦曲線:

close all;

x=linspace(0, 2*pi, 100); % 100個點的x座標

y=sin(x); % 對應的y座標

plot(x,y);

小整理:matlab基本繪圖函式

plot: x軸和y軸均為線性刻度(linear scale)

loglog: x軸和y軸均為對數刻度(logarithmic scale)

semilogx: x軸為對數刻度,y軸為線性刻度

semilogy: x軸為線性刻度,y軸為對數刻度

若要畫出多條曲線,只需將座標對依次放入plot函式即可:

plot(x, sin(x), x, cos(x));

若要改變顏色,在座標對後面加上相關字串即可:

plot(x, sin(x), 'c', x, cos(x), 'g');

若要同時改變顏色及圖線型態(line style),也是在座標對後面加上相關字串即可:

plot(x, sin(x), 'co', x, cos(x), 'g*');

小整理:plot繪圖函式的叄數字元顏色字元圖線型態y 黃色. 點k 黑色o 圓w 白色x xb 藍色+ +g 綠色* *r 紅色- 實線c 亮青色:

點線m 錳紫色-. 點虛線-- 虛線

圖形完成後,我們可用axis([xmin,xmax,ymin,ymax])函式來調整圖軸的範圍:

axis([0, 6, -1.2, 1.2]);

此外,matlab也可對圖形加上各種註解與處理:

xlabel('input value'); % x軸註解

ylabel('function value'); % y軸註解

title('two trigonometric functions'); % 圖形標題

legend('y = sin(x)','y = cos(x)'); % 圖形註解,注意,這個順序要自己定

grid on; % 顯示格線

我們可用subplot來同時畫出數個小圖形於同乙個視窗之中:

subplot(2,2,1); plot(x, sin(x));

subplot(2,2,2); plot(x, cos(x));

subplot(2,2,3); plot(x, sinh(x));

subplot(2,2,4); plot(x, cosh(x));

matlab還有其他各種二維繪圖函式,以適合不同的應用,詳見下表。

小整理:其他各種二維繪圖函式

bar 長條圖

errorbar 圖形加上誤差範圍

fplot 較精確的函式圖形

polar 極座標圖

hist 累計圖

rose 極座標累計圖

stairs 階梯圖

stem 針狀圖

fill 實心圖

feather 羽毛圖

compass 羅盤圖

quiver 向量場圖

以下我們針對每個函式舉例。

當資料點數量不多時,長條圖是很適合的表示方式:

close all; % 關閉所有的圖形視窗

x=1:10;

y=rand(size(x));

bar(x,y);

如果已知資料的誤差量,就可用errorbar來表示。下例以單位標準差來做資的誤差量:

x = linspace(0,2*pi,30);

y = sin(x);

e = std(y)*ones(size(x));

errorbar(x,y,e)

對於變化劇烈的函式,可用fplot來進行較精確的繪圖,會對劇烈變化處進行較密集的取樣,如下例:

fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是繪圖範圍

若要產生極座標圖形,可用polar:

theta=linspace(0, 2*pi);

r=cos(4*theta);

polar(theta, r);

對於大量的資料,我們可用hist來顯示資料的分情況和統計特性。下面幾個命令可用來驗證randn產生的高斯亂數分 :

x=randn(5000, 1); % 產生5000個 m=0,s=1 的高斯亂數

hist(x,20); % 20代表長條的個數

rose和hist很接近,只不過是將資料大小視為角度,資料個數視為距離,並用極座標繪製

表示:x=randn(1000, 1);

rose(x);

stairs可畫出階梯圖:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stairs(x,y);

stems可產生針狀圖,常被用來繪製數碼訊號:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stem(x,y);

stairs將資料點視為多邊行頂點,並將此多邊行塗上顏色:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

fill(x,y,'b'); % 'b'為藍色

feather將每乙個資料點視複數,並以箭號畫出:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

feather(z);

compass和feather很接近,只是每個箭號的起點都在圓點:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

compass(z);

2019Auto CAD二維繪圖鍵

第一 如何安裝軟體 第二 cad工作介面 第三 設定cad繪圖環境 1.切換工作空間 2.工具欄開啟方法在任何一工具欄右鍵滑鼠 3.設定繪圖單位 un 格式選單下的單位選擇mm 4.設定選項對話方塊 1.顯示下我們把十字游標大小調成了100 2.還是顯示我們把圖形視窗顯示滾動條。3.使用者系統設定我...

模組一AutoCAD基礎知識和二維繪圖

情境學習要點 主要介紹autocad2010繪圖的基礎知識。包括設定繪圖環境 配置繪圖系統 檔案管理和基本輸入操作等 座標系及座標 使用命令 檔案操作和繪圖環境配置等。可結合上機實戰來學習該部分內容。一 概述 圖形是表達和交流技術思想的工具。隨著cad 計算機輔助設計 技術的飛速發展和普及,越來越多...

二維動畫總結

二維動畫心得 時光如流水般逝去,二維動畫課程就這樣過去了,在這段時間裡我和同學 校友們 某某們 老師們相處的萬分愉快,而我也從他們的身上學到了我以前在書本裡沒有的知識。不過這知識永遠都不會出現在課本裡面,在這裡是緣分讓我們從五湖四海相遇。記得剛進學校,那時我對這個專業還什麼都不懂。開始接觸我模糊 陌...