• 沒有找到結果。

Chapter 8 複數與三維繪圖

N/A
N/A
Protected

Academic year: 2022

Share "Chapter 8 複數與三維繪圖"

Copied!
63
0
0

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

全文

(1)

Chapter 8 複數與三維繪圖

Hung-Yuan Fan (范洪源)

Department of Mathematics, National Taiwan Normal University, Taiwan

Spring 2017

(2)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

Outline

8.1 複數資料 8.2 多維陣列 8.3 三維圖形

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 2/63

(3)

Section 8.1

複數資料

(4)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

複數資料的使⽤時機

複數(complex numbers)是包含實數及虛數的⼀種數字。

⼤多數描述電機與機械系統⾏為的微分⽅程式,也都會產⽣

複數型態的解。

複數的使⽤很廣泛,我們必須深入了解複數的使⽤及其處理

⽅法,才能順利解決問題。

複數的⼀般形式為:

c = a + bi (直⾓座標表⽰法)

= z cos θ + (z sin θ)i = ze , (極座標表⽰法) 其中 i =

−1 或是 i 2 = −1。

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 4/63

(5)

複數的座標⽰意圖

Figure: 直⾓座標的複樹表⽰ (左) 和極座標的複樹表⽰ (右)

(6)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

兩座標間的轉換

極座標轉直⾓坐標 (z, θ) 7−→ (a, b):

a = z cos θ, b = z sin θ 直⾓坐標轉極座標 (a, b) 7−→ (z, θ):

z =

a 2 + b 2 , θ = tan −1 b

a ,

其中幅⾓ θ 可以由函式atan2(b,a) 或 atan2d(b,a) 求得,

且輸出⾓度範圍是 −π ≤ θ ≤ π 或 −180 ≤ θ ≤ 180

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 6/63

(7)

複數的基本運算

對於任何兩個複數 c 1 = a 1 + b 1 i = z 1 e 1c 2 = a 2 + b 2 i = z 2 e 2 , 定義加減乘除如下:

直⾓坐標形式:

c 1 ± c 2 = (a 1 ± a 2 ) + (b 1 ± b 2 )i,

c 1 × c 2 = (a 1 a 2 − b 1 b 2 ) + (a 1 b 2 + b 1 a 2 )i, c 1

c 2 = a 1 a 2 + b 1 b 2

a 2 2 + b 2 2 + b 1 a 2 − a 1 b 2 a 2 2 + b 2 2 i 極坐標形式:

c 1 ± c 2 = (z 1 cos θ 1 ± z 2 cos θ 2 ) + (z 1 sin θ 1 ± z 2 sin θ 2 )i, c 1 × c 2 = (z 1 z 2 )e i(θ 1 2 ) , c 1

c 2 = z 1

z 2 e i(θ 1 −θ 2 )

(8)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

複數變數的初始化

1

使⽤內建值 i 或 j 來產⽣複數值,這兩個值在 MATLAB 都被預設為

−1。

>> c1 = 4 + i*3 c1 =

4.0000 + 3.0000i

2

直接在數字的虛數部分之後,加上 i 或 j 來指定複數的虛 數部分。

>> c1 = 4 + 3i c1 =

4.0000 + 3.0000i

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 8/63

(9)

在複數間使⽤關係運算⼦

關係運算⼦ >, > =, < 與 < = 只會比較複數的實數部分。

>> c1 = 4 + 3i; c2 = 3 + 8i;

>> c1 > c2 ans =

1 % 代表敘述式 c1 > c2 是對的 (true)!

較合理的關係運算是比較複數的絕對值

|c| = z =a 2 + b 2 的⼤⼩,⽽不是比較複數實部的⼤⼩。

>> compare_abs = [abs(c1), abs(c2)]

compare_abs =

5.0000 8.5440

(10)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

複數函式

MATLAB 包含了許多⽀援複數運算的函式。

這些函式可以分成三種類別:

1

型態轉換函式: real、imag 等函式。

2

絕對值與⾓度函式: abs、angle 等函式。

3

數學函數: 包含了指數函數、對數函數、三⾓函數與平⽅根 函數。例如,MATLAB 的 sin、cos、log、sqrt 等函式也 可以處理複數資料型態。

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 10/63

(11)

⼀些⽀援複數資料型態的函式

函式 描述

conj(c) 計算 c 的共軛複數。如果 c = a + bi,

則 conj(c) = a –bi。

real(c) 傳回複數 c 的實數部份 (real part)。

imag(c) 傳回複數 c 的虛數部份 (imaginary part)。

isreal(c) 如果陣列 c 內的元素沒有虛數部分,

則傳回 true 值 (1) 。

abs(c) 傳回複數 c 的絕對值⼤⼩。

angle(c) 由 atan2(imag(c),real(c)) 的式⼦,計算並

傳回複數 c 的⾓度。

(12)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

複數資料的圖形

MATLAB 複數資料的圖形與實數資料的圖形會有些微的不同。

以繪製複數值函數 (complex-valued function)

y(t) = e −0.2t (cos t + i sin t), 0 ≤ t ≤ 4π 的圖形為例。

複數值函數的繪圖 t = 0:pi/20:4*pi;

y = exp(-0.2*t).*(cos(t)+i*sin(t));

plot(t,y,'LineWidth',2);

title(' \bf Plot of Complex Function vs Time');

xlabel(' \bf \it t');

ylabel(' \bf \it y(t)');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 12/63

(13)

範例的繪圖結果 (承上⾴)

Figure: 函式 plot 不能畫出複數值函數的圖形!

(14)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

⽅法⼀: 複數值函數圖形的呈現 t = 0:pi/20:4*pi;

y = exp(-0.2*t).*(cos(t)+i*sin(t));

plot(t,real(y),'b-','LineWidth',2);

hold on;

plot(t,imag(y),'r--','LineWidth',2);

title(' \bf Plot of Complex Function vs Time');

xlabel(' \bf \it t');

ylabel(' \bf \it y(t)');

legend('real part','imag. part');

hold off;

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 14/63

(15)

範例的繪圖結果 (承上⾴)

Figure: 在同⼀張圖形中呈現複數值函數的實部和虛部

(16)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

⽅法⼆: 複數值函數圖形的呈現 t = 0:pi/20:4*pi;

y = exp(-0.2*t).*(cos(t)+i*sin(t));

plot(y,'b-','LineWidth',2);

title(' \bf Plot of Phase Portrait (相位圖)');

xlabel(' \bf Real Part');

ylabel(' \bf Imaginary Part');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 16/63

(17)

範例的繪圖結果 (承上⾴)

Figure: 複數值函數的實部對虛部之相位圖

(18)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

⽅法三: 複數值函數圖形的呈現 t = 0:pi/20:4*pi;

y = exp(-0.2*t).*(cos(t)+i*sin(t));

polar(angle(y),abs(y));

title(' \bf Plot of Phase Portrait (極座標圖)');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 18/63

(19)

範例的繪圖結果 (承上⾴)

Figure: 以極座標表⽰複數值函數的相位圖

(20)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

⽅法四: 複數值函數圖形的呈現 (動畫版) t = linspace(0,4*pi,4e4);

y = exp(-0.2*t).*(cos(t)+i*sin(t));

comet(real(y),imag(y));

title(' \bf Plot of Phase Portrait (相位圖動畫版)');

xlabel(' \bf Real Part');

ylabel(' \bf Imaginary Part');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 20/63

(21)

範例的繪圖結果 (承上⾴)

Figure: 複數值函數的實部對虛部之相位圖動畫版

(22)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

Section 8.2 多維陣列

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 22/63

(23)

⼆維與三維陣列

陣列的維度多於⼆維,稱為多維陣列。

三維陣來必須以列、⾏與⾴三個維度來描述。

(24)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

三維陣列的建立

1

由⼀維或是⼆維陣列所⽣成。

>> a = [1 2 3 4; 5 6 7 8; 9 10 11 12];

>> a(:,:,2) = zeros(3,4)

% 變數 a 是⼀個 3 × 4 × 2 的陣列。

2

由 MATLAB 內建函式⽣成。

>> b = ones(4,4,2)

>> c = randn(2,2,3)

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 24/63

(25)

檢查多維陣列的維度和⼤⼩

函式 ndims: ⽤來取得多維陣列的維度。

>> ndims(c) ans =

3

函式 size: ⽤來取得多維陣列的⼤⼩。

>> size(c) ans =

2 2 3

(26)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

Section 8.3 三維圖形

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 26/63

(27)

三維空間曲線的繪圖

(28)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

函式 plot3 的範例 (1/2) t = linspace(0,30,120);

plot3(t.*sin(t),t.*cos(t),t,'-ro');

title(' \bf Plot of 3D Parametric Curve');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 28/63

(29)

範例的繪圖結果 (承上⾴)

(30)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

函式 plot3 的範例 (2/2) t = linspace(0,30,120);

plot3(t.*sin(t),t.*cos(t),t,'-ro',...

t.*sin(t),t.*cos(t),-t,'-bd');

title(' \bf Plot of 3D Parametric Curve');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 30/63

(31)

範例的繪圖結果 (承上⾴)

(32)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

如何繪製函數 z = f(x, y) 的圖形?

對於函數 f(x, y) ⽽⾔,每給⼀組 (x, y),便能計算其函數值 z = f(x, y)。

只要給予 (x, y) 的組數夠多,即可繪出函數的三維曲⾯圖。

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 32/63

(33)

描繪三維圖形的步驟

Step 1 建立 x 軸和 y 軸⽅向上的⼆維陣列 xx 與 yy。

直接使⽤宣告式由鍵盤輸入兩陣列的所有元素。

使⽤函式 meshgrid ⾃動⽣成兩陣列。

Step 2 建立 z 軸⽅向上的⼆維陣列 zz。

直接使⽤宣告式由鍵盤輸入陣列 zz 的元素。

由函數 z = f(x, y) 的形式與陣列運算建立⼆維陣列 zz。

Step 3 使⽤內建函式繪製三維圖形和等⾼線圖。

mesh(xx,yy,zz): 產⽣⼀個網格圖 (mesh) 或是線框圖 (wireframe)。

surf(xx,yy,zz): 產⽣⼀個曲⾯圖 (surface)。

contour(xx,yy,zz): 產⽣⼀個等⾼線圖 (contour)。

建議使⽤ title、xlabel、ylabel、zlabel 等函式增加圖

形的可讀性。

(34)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

MATLAB 如何定義這些⼆維陣列? (1/2)

對於 x、y 軸上取樣的網格點 (grid points) 或資料點

x = [x 1 , x 2 , · · · , x n ], y = [y 1 , y 2 , · · · , y m ], MATLAB 定義⼆維陣列 xx 與 yy 具有下列矩陣形式:

xx =

 

 

x 1 x 2 · · · x n

x 1 x 2 · · · x n

.. . .. . .. . x 1 x 2 · · · x n

 

  ∈ R m × n , yy =

 

 

y 1 y 1 · · · y 1

y 2 y 2 · · · y 2

.. . .. . .. . y m y m · · · y m

 

  ∈ R m × n

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 34/63

(35)

MATLAB 如何定義這些⼆維陣列? (2/2)

因此,與 z 軸⽅向有關的⼆維陣列 zz 應當定義為

zz =

 

 

f(x 1 , y 1 ) f(x 2 , y 1 ) · · · f( x n , y 1 ) f(x 1 , y 2 ) f(x 2 , y 2 ) · · · f( x n , y 2 )

.. . .. . .. . f(x 1 , y m ) f(x 2 , y m ) · · · f( x n , y m )

 

  ∈ R m × n ,

其中,m 是向量 y 的元素個數且 n 是向量 x 的元素個數。

Note: 使⽤元素對元素的陣列運算和 f 的形式 ,我們可以輕易地

建構⼆維陣列 zz!

(36)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

範例

若考慮在 x = 1, 2, 3, 和 y = 1, 2, 3, 4 點上繪出雙⾃變量函數

z = f(x, y) =x 2 + y 2 的圖形, 則 MATLAB 會如何設定陣列 xx 和 yy?

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 36/63

(37)

範例的解答 (承上⾴)

>> xx = [1 2 3; 1 2 3; 1 2 3; 1 2 3]

xx =

1 2 3 1 2 3 1 2 3 1 2 3

>> yy = [1 1 1; 2 2 2; 3 3 3; 4 4 4]

yy =

1 1 1

2 2 2

3 3 3

4 4 4

(38)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

使⽤ meshgrid 函式建立陣列

>> vx = 1:3; vy = 1:4;

>> [xx,yy] = meshgrid(vx,vy)

% 輸出⼆維陣列xx 、 yy與上⾴範例的結果相同!

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 38/63

(39)

承上例,我們可以畫出 z = f(x, y) 的網格圖:

>> zz = sqrt(xx.ˆ2+yy.ˆ2); % 建立函數值的⼆維陣列 zz

>> mesh(xx,yy,zz)

(40)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

同理,我們也可以畫出 z = f(x, y) 的曲⾯圖:

>> surf(xx,yy,zz)

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 40/63

(41)

範例

嘗試在 −4 ≤ x ≤ 4 以及 −3 ≤ y ≤ 3 區間上,設定資料點的取 樣間距為 0.1,繪製函數

z = f(x, y) = e −0.5(x 2 +0.5(x −y) 2 )

的網格圖、曲⾯圖和等⾼線圖。

(42)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

使⽤函式 mesh 的程式碼 (承上例)

[xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);

zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));

mesh(xx,yy,zz);

title(' \bf Mesh Plot');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 42/63

(43)

範例的繪圖結果 (承上⾴)

(44)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

使⽤函式 surf 的程式碼 (承上例)

[xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);

zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));

surf(xx,yy,zz);

title(' \bf Surf Plot');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 44/63

(45)

範例的繪圖結果 (承上⾴)

(46)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

使⽤函式 contour 的程式碼 (承上例) [xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);

zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));

contour(xx,yy,zz);

title(' \bf Contour Plot');

xlabel(' \bf x');

ylabel(' \bf y');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 46/63

(47)

範例的繪圖結果 (承上⾴)

(48)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

函式 meshc 與 waterfall

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 48/63

(49)

使⽤函式 waterfall 的程式碼 (承上例) [xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);

zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));

waterfall(xx,yy,zz);

title(' \bf Waterfall Plot');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

(50)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

範例的繪圖結果 (承上⾴)

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 50/63

(51)

使⽤函式 meshc 的程式碼 x = linspace(-8,8,30);

y = x; [xx,yy] = meshgrid(x,y);

expr = sqrt(xx.ˆ2+yy.ˆ2);

zz = sin(expr)./(expr+eps);

meshc(xx,yy,zz);

title(' \bf Meshc Plot');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

(52)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

範例的繪圖結果 (承上⾴)

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 52/63

(53)

函式 surf 與 surfc

Note: 若vx 、 vy分別為 x�y 軸資料點所形成的向量,則 mesh(vx,vy,zz)、meshc(vx,vy,zz) 分別和指令 mesh(xx,yy,zz)、meshc(xx,yy,zz) 繪圖效果⼀樣。

surf(vx,vy,zz)、suurfc(vx,vy,zz) 分別和指令

surf(xx,yy,zz)、surfc(xx,yy,zz) 繪圖效果⼀樣。

(54)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

使⽤函式 surfc 的程式碼 (承上例) x = linspace(-8,8,30);

y = x; [xx,yy] = meshgrid(x,y);

expr = sqrt(xx.ˆ2+yy.ˆ2);

zz = sin(expr)./(expr+eps);

surfc(xx,yy,zz);

title(' \bf Surfc Plot');

xlabel(' \bf x');

ylabel(' \bf y');

zlabel(' \bf z');

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 54/63

(55)

範例的繪圖結果 (承上⾴)

(56)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

簡易的三維繪圖函式

只要給予函數字串與範圍,下列函式可快速的繪出三維的圖形:

函式 說明

ezmesh('f',[xmin,xmax,ymin,ymax],n) 以 n ×n 個網格點繪出 f 的三維圖形,

若省略 x�y 範圍或 n 值,則預設值是

−2π ≤ x, y ≤ 2π 且 n = 60 ezmeshc('f',[xmin,xmax,ymin,ymax],n) 同上,但圖形下⽅顯⽰等⾼線圖 ezsurf('f',[xmin,xmax,ymin,ymax],n) 同 ezmesh,但網格⾯會塗上顏⾊

ezsurfc('f',[xmin,xmax,ymin,ymax],n) 同上,但圖形下⽅顯⽰等⾼線圖

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 56/63

(57)

函式 ezmesh 的範例

>> ezmesh('exp(-0.2*x)*cos(t)',[-pi,2*pi,-2,12],36)

(58)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

函式 ezsurf 的範例

>> ezsurf('yˆ2-xˆ2',36) % z = f(x, y) = y 2 − x 2 的圖形

% 函數圖形是⼀個雙曲拋物⾯ (Hyperbolic Paraboloid)。

% 原點 (0, 0) 是⼀個鞍點 (saddle point)。

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 58/63

(59)

雙參數的空間曲⾯

若空間曲⾯上任何⼀點 (x, y, z) 滿⾜下列雙參數⽅程式:

x = f(u, v), y = g(u, v), z = h(u, v),

其中參數區間為 u min ≤ u ≤ u max 和 v min ≤ v ≤ v max ,我們可利

⽤函式 ezsurf 與 ezmesh 輕易地繪出參數曲⾯的圖形。

ezsurf('f','g','h',[umin, umax,vmin,vmax]): 繪製 參數曲⾯圖

ezmesh('f','g','h',[umin, umax,vmin,vmax]): 繪製 參數網格圖

曲⾯透明度可⽤函式alpha(value)調整,其中 value 是介

於 0 到 1 的實數且預設值是 1。

(60)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

單位圓形柱⾯⾯圖

>> ezsurf('cos(u)','sin(u)','v',[0,2*pi,-1e4,1e4])

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 60/63

(61)

單位球體的曲⾯圖 (1/2)

>> ezsurf('sin(u)*cos(v)','sin(u)*sin(v)','cos(u)',

[0,pi,0,2*pi])

(62)

. . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . .

. .

. . . . .

單位球體的曲⾯圖 (2/2)

>> ezsurf('sin(u)*cos(v)','sin(u)*sin(v)','cos(u)', [0,pi,0,2*pi])

>> alpha(0) % 完全透明的單位球體!

Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 62/63

(63)

Thank you for your attention!

參考文獻

相關文件

If we recorded the monthly sodium in- take for each individual in a sample and his/her blood pressure, do individuals with higher sodium consumption also have higher blood

A Complete Example with equal sample size The analysis of variance indicates whether pop- ulation means are different by comparing the variability among sample means with

The natural structure for two vari- ables is often a rectangular array with columns corresponding to the categories of one vari- able and rows to categories of the second

Project 1.3 Use parametric bootstrap and nonparametric bootstrap to approximate the dis- tribution of median based on a data with sam- ple size 20 from a standard normal

Department of Mathematics, National Taiwan Normal University, Taiwan..

Department of Mathematics, National Taiwan Normal University, Taiwan..

Feng-Jui Hsieh (Department of Mathematics, National Taiwan Normal University) Hak-Ping Tam (Graduate Institute of Science Education,. National Taiwan

2 Department of Educational Psychology and Counseling / Institute for Research Excellence in Learning Science, National Taiwan Normal University. Research on embodied cognition