• 沒有找到結果。

特殊字元符號

N/A
N/A
Protected

Academic year: 2022

Share "特殊字元符號"

Copied!
45
0
0

加載中.... (立即查看全文)

全文

(1)

Matlab磁碟檔案操作與繪圖

(2)

Load及Save

Matlab提供Load及Save指令來對磁碟檔案作 儲存。

另外有關磁碟檔案管理指令,如dir、type、

delete或chdir等(類似DOS指令)。

在不同作業系統亦提供「!」在指令前執行該 系統指令操作,如!dir/o/p、!del...等。

當然先決條件,學習者須具備作業系統操作 指令。

(3)

不同系統磁碟操作指令(部分舉例)

Matlab MS-DOS UNIX VAX/VMS

dir dir ls dir

type type cat type

delete del rm delete

chdir chdir cd set default

(4)

Matlab尚提供diary filename以記錄系統載入後的所 有記錄,並以ASCII格式存檔。

load與save的指令是將變數值或資料以ASCII或二 進位格式存取。

load file是將file內儲存資料,載入Matlab系統中;

save file則可以指定二進位或ASCII文字方式將資 料儲存。

二進位格式儲存檔案較大於ASCII所儲存檔案,但

前者亦於使用編輯軟體處理或編輯。

(5)

save temp,其附加檔案名為.mat,即 temp.mat。

save temp x則存入工作空間裡變數x的值到 temp.mat的檔案中。

同理save temp x y z則存入工作空間裡變數x、

y、z的值到temp.mat的檔案中。

(6)

儲存為ASCII檔案時則

save filename 變數1 變數2 …. /ascii。

save filename 變數1 變數2….. -ascii。

save filename 變數1 變數2….. /ascii / double。

save filename 變數1 變數2….. -ascii –double,

其中double為16字元的倍精確度格式的指令。

舉例: save temp.dat x y –ascii;表以ascii儲存x、

y變數的值至temp.dat檔案中。

(7)

特殊字元符號

特殊符號表示

字元 符號 字元 符號

\it {文字

字串} 斜體字 \gamma 字元符號

\pi 字元符號 \delta 字元符號

\alpha 字元符號 \epsilon 字元符號

\beta 字元符號 \Sigma 字元符號

(8)

字元 符號 字元 符號

\sigma 字元符號 \leftarrow 左箭號

\tau 字元符號 \rightarrow 右箭號

\Gamma 字元符號 \bullet 圓點符號 

\zeta 字元符號

(9)

HorizontalAlignment:設定文字方塊在物件中 的對齊方式;left(預設值)表靠左對齊,

center表置中對齊,right表靠右對齊。

VerticalAlignment:設定文字方塊在物件中 的垂直方向對齊方式;middle(預設值)表置 中,top表向上對齊,bottom表靠向下對齊。

對齊、標題指令

(10)

legend(‘string1’,’string2’): 區分座標圖上的多重線。

標題,title(‘text’)或 title(ax,….)

x軸標題, xlabel(‘text’)或 xlabel(ax,...) 加x軸標題 至特定的軸。

y軸標題, ylabel(‘text’)或 ylabel(ay,...)加y軸標題 至特定的軸。

加字至xy或xyz座標系統位置上 text(x,y,‘string’) 或 text(x,y,z,‘string’) 。

(11)

plot(x1,y1,s1,x2,y2,s2,x3,y3,s3,……..),例如plot(x,y,'y- ',x,y,'go')。

各字元符號代表意義:

b blue(藍) . point - solid

g green(綠) o circle : dotted

r red(紅) x x-mark -. dashdot

c cyan(青綠) + plus -- dashed

m magenta(暗紅) * star (none) no line

y yellow(黃) s square

k black(黑) d diamond

v triangle (down) ^ triangle (up)

< triangle (left) > triangle (right)

繪圖

(12)

grid on加上虛線至目前軸上。

grid off將目前軸上虛線移除。

hold on維持目前圖像以讓下張圖像加入現存 圖像中。

hold off回復至初始設定值。

(13)

舉例-2D繪圖

%**2D plot**%

t=0:0.01:1.5;

a=t;

b=t.^2;

plot(t,a,'r-');

hold on;

plot(t,b,'b:');

grid;

title('The Strait line and the Parabolic curve')

(14)

hold off;

legend('Strait Line','Parabolic Curve')

text(0.4,0.4,'y=x \rightarrow

\bullet','Horizontalalignment','right')

text(0.8,0.64,'\bullet \leftarrow

y=x^{2}','Horizontalalignment','left')

text(.1,1.8,'\alpha \beta \gamma \delta \epsilon \kappa

\tau \xi \eta \zeta')

text(.1,1.6,'\Sigma \sigma \Gamma \Delta \theta \pi

\Pi')

(15)

fplot(‘函式運算式',[xmin, xmax]),例如繪製y=(e^- 0.8t )cos(4t) ,因此直接在Matlab命令視窗中鍵入

fplot(‘(exp(-0.8*t)).*cos(4*t)’,[0, 5])。

(16)

統計圖與離散資料圖

hist(x, y)

stem(x, y)

y=1/(x^3-x+1)的離散資料統計圖和-4到+4之間的常 態分佈亂數資料統計圖。

(17)

舉例

%** Set axis **%

x = 0:0.1:4*pi;

plot(x, sin(x)+sin(3*x));

set(gca, 'ytick', [-1 -0.3 0.1 1]);

set(gca, 'yticklabel', {'Min','Critical','Corupt','Max'});

grid on

% gca : 調整現行座標軸。

(18)

圓盤圖

%** Pie diagram**%

sum=0;

revenue=[363.4 35.2 138.5 96.6 22.1];

for i=1:5

sum=revenue(i)+sum;

end

percent1=['CD-ROM:' num2str(revenue(1)/sum*100) '%'];

percent2=['VCD:' num2str(revenue(2)/sum*100) '%'];

percent3=['DVD-ROM:'

(19)

percent4=['OM:' num2str(revenue(4)/sum*100) '%'];

percent5=['Misc.:' num2str(revenue(5)/sum*100) '%'];

subplot(211);

bar(revenue);

set(gca,'xtick',[ 1 2 3 4 5]);

set(gca,'xticklabel','CD-ROM|VCD|DVD- ROM|OM|Misc.');

subplot(212)

pie(revenue);

(20)

text(-4,1,percent1)

text(-4,0.75,percent2)

text(-4,0.5,percent3)

text(-4,0.25,percent4)

text(-4,0,percent5)

(21)

NUM2STR 轉換數字成字串。

SUBPLOT(2,1,1), PLOT(income)

SUBPLOT(2,1,2), PLOT(outgo)

繪製"income”圖至上半視窗,"outgo”圖至下半視 窗。

PIE(X) 在X向量繪製派圖。

(22)

%舉例

x = 0:0.1:4*pi;

subplot(2, 2, 1); plot(x, sin(x)); % 一個視窗分割產生 4 個

% 圖形,此為左上角圖形

subplot(2, 2, 2); plot(x, cos(x)); % 此為右上角圖形

subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5)); % 為左下角 圖形

subplot(2, 2, 4); plot(x, x.^2); % 此為右下角圖形

(23)

%舉例

t = 0:0.1:2*pi;

x = 3*cos(t);

y = sin(t);

subplot(2, 2, 1); plot(x, y); axis normal

subplot(2, 2, 2); plot(x, y); axis square

subplot(2, 2, 3); plot(x, y); axis equal

subplot(2, 2, 4); plot(x, y); axis equal tight

(24)

%圖軸的說明文字,可舉例如下:

subplot(1,1,1);

x = 0:0.1:2*pi;

y1 = sin(x);

y2 = exp(-x);

plot(x, y1, '--*', x, y2, ':o');

xlabel('t = 0 to 2\pi');

ylabel('values of sin(t) and e^{-x}')

title('Function Plots of sin(t) and e^{-x}');

(25)

在圖形上面加入說明文字,可用text 或gtext 指令。

text 指令的使用語法為text(x, y, string),其中x、

y 是說明文字的起始座標位置,string則代表 說明文字,舉例如下:

x = 0:0.1:2*pi;

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

text(pi/4, sin(pi/4),'\leftarrow sin(\pi/4) = 0.707');

text(5*pi/4, cos(5*pi/4),'cos(5\pi/4) = -

0.707\rightarrow', 'HorizontalAlignment', 'right');

(26)

「HorizontalAlignment」及「right」指示text 指令將 文字向右水平靠齊。

gtext 的使用語法為gtext(string),待您使用滑鼠在圖

上點選一位置後,string 即顯示在其上。需注意的是,

gtext 只能用在二維平面繪圖。

在上頁程式加入gtext(‘I got you’)。

(27)

向量繪圖指令

compass(x, y):繪製座標[x, y]對原點的向量圖形。

feather(x, y):繪製座標[x, y]在水平線上的向量圖形。

quiver(x, y):用來在座標為(x,y)上畫出向量方向[u, v],大小為s的箭頭,通常用來說明一個函數或曲 線的梯度。

(28)

%** vector plot **%

x=[-3 1 -2 5 ];y=[2 3 -4 -2 ];

subplot(221);

compass(x,y);

subplot(222);

feather(x,y);

subplot(212)

r=0:0.2:4;t=1./(r.^3-r+1);

u=gradient(r,0.2);

(29)

quiver(r,t,u,v,1);

hold on;plot(r,t);

(30)

果已知資料的誤差範圍,就可用errorbar 來表示。下 例以y 座標高度的20% 作為做資料的誤差範圍:

x = linspace(0,2*pi,30); % 在 0 到2π 間,等分取30 個 點

y = sin(x);

e = y*0.2;

errorbar(x,y,e) % 圖形上加上誤差範圍 e

(31)

fplot 指令來進行較精確的取點作圖,他會對劇烈變 化處進行較密集的取樣,例如:

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

(32)

產生極座標圖形,可用polar 指令:

theta = linspace(0, 2*pi);

r = cos(4*theta);

polar(theta, r); % 進行極座標繪圖

(33)

對於大量的資料,可用hist 指令來繪製統計上常用 的「質方圖」(Histogram),以顯示資料的分佈情 況和統計特性。hist 指令可將資料依大小分成數堆,

並將每堆的個數畫出。例如,欲將10000 個由randn 產生的正規分佈之亂數分成25 堆,可進行如下:

x = randn(10000, 1); % 產生10000 個正規分佈亂數

hist(x, 25);

% 繪出質方圖,顯示 x 資料的分佈情況和統計特性,

(34)

% 數字 25 代表資料依大小分堆的堆數,即是指方 圖內長條的個數

set(findobj(gca, 'type', 'patch'), 'edgecolor', 'w');

% 上例set 指令將長條圖的邊緣設定成白色,詳細使

用語法請參考本書第八章「握把式圖形及 GUI 設計」

(35)

極座標繪製表示。其產生圖形類似玫瑰花瓣,故以

「rose」名之。舉例如下:

x = randn(5000, 1);

rose(x);

% x 資料大小為角度,x 資料個數為距離,

% 進行繪製類似玫瑰花瓣的極座標質方圖

(36)

使用compass 指令,可畫出一組以原點為起始點的 向量圖,稱為「羅盤圖」,例如:

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

rho = sin(0.5*theta);

[x, y] = pol2cart(theta, rho); % 由極座標轉換至直角 座標

compass(x, y); % 畫出以原點為向量起始點的羅盤圖

(37)

雙y軸座標繪圖指令

雙y軸座標繪圖指令: plotyy

plotyy(x1,y1,x2,y2): 將(x1,y1)關係圖繪出,但y軸 的記標則顯示在左邊的y軸上;將(x2,y2)繪出,但 y軸的記標則顯示在右邊的y軸上。

plotyy(x1,y1,x2,y2, FUN): 與上相似,但可以用 FUN字串來代表所要繪製座標圖類別。

`plot’:一般的線性直角座標

`semilogx’: x-軸為對數座標。

(38)

‘semilogy’: y-軸為對數座標。

`loglog’: x-軸、y-軸均為對數座標。

`stem’: 離散顯示的座標。

.

.

plotyy(x1,y1,x2,y2, FUN1, FUN2): 與上相似,差別 是可以分別對(x1,y1)及(x2,y2)來設定所要繪製座 標圖類別。

(39)

%** plotyy **%

r=0:0.1:4;

t=1./(r.^3-r+1);

plotyy(r,t,r,t,'plot','semilogy');

(40)

三維立體圖

surf(x, y, z)與mesh(x,y,z)相似,唯前者表現出立體 圖形中色彩;後者則為格線。

%** surf **%

x=0:0.1:4;

y=0:0.1:4;

[x,y]=meshgrid(linspace(0,4,40),linspace(0,4,40));

z=1./(x.^3-x+1)+1./(y.^2-y+1);

surf(x,y,z)

shading interp; %使格線消失

(41)

countour3(x,y,z,n)及countourf(x,y,z,n): 前者三維空 間等高線,n為等高線條數;後者為塗滿彩色。

%** contour3 **%

[x,y]=meshgrid(linspace(0,4,40),linspace(0,4,40));

z=1./(x.^3-x+1)+1./(y.^2-y+1);

subplot(211)

contour3(x,y,z,10)

subplot(212)

contourf(x,y,z,10)

subplot(111)

(42)

%** contour **%

x=0:0.1:4;

y=0:0.1:4;

[x,y]=meshgrid(linspace(0,4,40),linspace(0,4,40));

z=1./(x.^3-x+1)+1./(y.^2-y+1);

subplot(111)

contour(x,y,z,10);

hold on;

(43)

[u,v]=gradient(z,1); % [FX,FY] = GRADIENT(F,H) 近似梯度,以F矩陣之數值梯度回應,H為純量為 點間數,在X方向上FX相對於dF/dX,在Y方向上 FY相對於dF/dY

quiver(x,y,u,v,0.5); %繪製在(x,y)點之速度向量(u, v)

hold off;

(44)

surfc(x, y, z)與meshc(x,y,z):與surf(x, y, z)和

mesh(x,y,z)相似,表現出立體圖外也繪出等高線 圖。

%** meshc&surfc **%

[x,y]=meshgrid(linspace(0,4,40),linspace(0,4,40));

z=1./(x.^3-x+1)+1./(y.^2-y+1);

subplot(211)

meshc(x,y,z)

subplot(212)

(45)

surfc(x,y,z)

shading interp;%利用內插重新以較高速率擷 取資料,以原來速率乘於X倍擷取向量X

subplot(111)

參考文獻

相關文件

[r]

Assuming that the batter hits the ball 4 ft above the ground, and neglecting air resistance, determine the minimum speed the batter must gave to the ball to hit it over the

有關 PHP 的敘述何者有誤?①可在 Apache、MS IIS 等 Web 伺服 器執行的 Script②只能在 Linux 或 Unix 作業系統上執行,無法於 Windows 或 Mac

翻譯源自 © copyright Games Workshop Ltd © copyright Games Workshop Ltd © copyright Games Workshop Ltd 之系列產品 © copyright Games Workshop Ltd 之系列產品

「電子郵件( mydlink 帳號名稱)」請輸入您的 Email 地址,此 Email 地址就是未來登入 mydlink

中華民國 100 年 5 月 3 日中市教特字第 100004838 號函下達 中華民國 101 年 10 月 23 日中市教特字第 1010077865

此行文字的特別意義,是讓 MATLAB 藉由 lookfor 指令 搜尋並顯示此函式用途。.. 語法:

實物 圖像 文字 數學符號..