第七章 特殊圖形的繪製 習題參考答案
7.1 常用的二維繪圖函數
1. 試繪出
r
sin(6 )x
的極座標圖,0 x
2
,資料點數取120 點。Ans:
>> x=linspace(0,2*pi,120);
>> r=sin(6*x);
>> polar(x,r)
0.2 0.4 0.6
0.8 1
30
210
60
240 90
270 120
300 150
330
180 0
2. 試將
r
sin(3 )x
與r
cos(sin(6 ))x
,0 x
2
,的圖形同繪於一張極座標圖上,資料 點數取120 點。Ans:
>> x=linspace(0,2*pi,120);
>> polar(x,sin(3*x));
>> hold on
>> polar(x,cos(sin(6*x)));
>> hold off
0.2 0.4 0.6 0.8 1
30
210
60
240 90
270 120
300 150
330
180 0
3. 試用 ezplot 函數繪製
r
sin(sin(5 ))x
的極座標圖,0 x (提示:可把極座標函數轉
成直角座標,然後利用參數方程式來繪圖)。Ans:
>> ezplot('cos(x)*sin(sin(5*x))','sin(x)*sin(sin(5*x))',[0,pi])
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
x
y
x = cos(x) sin(sin(5 x)), y = sin(x) sin(sin(5 x))
4. 試繪出 ( )
f x
x
log(3 )x
,1 x
10的圖形,其中y 軸為對數座標。
Ans:
>> x=linspace(1,10,100);
>> y=x.*log(3*x);
>> semilogy(x,y)
1 2 3 4 5 6 7 8 9 10
100 101 102
5. 試繪出 ( )
f x
x
x,1 x
10的圖形,其中y 軸為對數座標。
Ans:
>> x=linspace(1,10,100);
>> y=x.^x;
>> semilogy(x,y)
1 2 3 4 5 6 7 8 9 10
100 102 104 106 108 1010
6. 試繪出 ( ) 2 1
xe
xf x
x
,1
x
100的圖形,其中x 與 y 軸均為對數座標。
Ans:
>> x=linspace(1,100,200);
>> y=x.*exp(x)./(x.^2+1);
>> loglog(x,y)
100 101 102
100 1010 1020 1030 1040 1050
7. 試以雙 y 軸繪圖繪出 ( )
f x
x
x與g x
( )x
的圖形,繪圖範圍請自訂。Ans:
>> x=linspace(0,2,50);
>> plotyy(x,x.^x,x,sqrt(x))
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0 2 4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
1 2
7.2 向量場與法向量繪圖
8. 試繪出 ( , ) sin
f x y
x
2cosy
的梯度向量場,繪圖範圍取0 x
2
,0 y
2
,資料 點數取50 50 點,並繪出f x y
( , ) sinx
2cosy
的等高線圖,用來驗證梯度向量與等高 線垂直。Ans:
>> x=linspace(0,2*pi,50); y=linspace(0,2*pi,50);
>> [xx,yy]=meshgrid(x,y); zz=sin(xx)+2*cos(yy);
>> [u,v]=gradient(zz);
>> quiver(xx,yy,u,v)
>> axis tight
0 1 2 3 4 5 6
0 1 2 3 4 5 6
>> hold on
>> contour(xx,yy,zz);
>> hold off
0 1 2 3 4 5 6
0 1 2 3 4 5 6
9. 試依序完成下列各問題:
(a) 繪出 ( , ) 2 2
x y
f x y x e
的圖形,範圍取 2
x y
, ,並取 32 322 個資料點。(b) 試繪出 ( , )
f x y 的法向量,並與 (a) 的結果繪於同一張圖。
Ans:
(a) >> x=linspace(-2,2,32);
>> y=linspace(-2,2,32);
>> [xx,yy]=meshgrid(x,y);
>> zz=xx./(exp(xx.^2)+yy.^2);
>> surf(xx,yy,zz);
>> axis tight; hold on
-2
-1 0
1 2
-2 -1 0 1 2 -0.4 -0.2 0 0.2 0.4
(b) >> [u,v,w]=surfnorm(xx,yy,zz);
>> quiver3(xx,yy,zz,u,v,w,0.5); hold off
-2
-1 0
1 2
-2 -1 0 1 2 -0.4 -0.2 0 0.2 0.4
7.3 統計繪圖
10. 設某個班級微積分的小考成績如下:
36, 48, 87, 62 , 60, 52, 66, 73, 73, 89, 36, 12, 62, 50, 60, 70, 88, 90, 65 (a) 試求出全班的平均成績。
(b) 試以直方圖來表示全班成績分佈的概況,直方圖的區間數取 5。
Ans:
>> A=[36 48 87 62 60 52 66 73 73 89 36 12 62 50 60 70 88 90 65];
(a) >> sum(A)/length(A) ans =
62.0526 (b) >> hist(A,5)
10 20 30 40 50 60 70 80 90
0 1 2 3 4 5 6 7 8 9
11. 設某個地區春天的降雨量為 138 公厘,夏天為 187 公厘,秋天為 92 公厘,冬天為 63 公厘。試以圓形圖表示每一季降雨量的百分比。
Ans:
>> data=[138 187 92 63]
data =
138 187 92 63
>> pie(data)
29%
39%
19%
13%
7.4 動畫的製作
12. 試繪出二維參數方程式 ( )
x t
t y t
, ( ) tan(sin( )) sin(tan( ))t
t
的彗星軌跡圖,t 取 到
,間隔取
/ 200。Ans:
>> t=-pi:pi/200:pi;
>> comet(t,tan(sin(t))-sin(tan(t)))
13. 試繪出三維參數方程式 ( )
x t
t
sin( ), ( )t y t
t
cos( ), ( )t z t
的彗星軌跡圖,t 取t
到
,間隔取
/ 400。Ans:
>> t=-pi:pi/400:pi;
>> comet3(t.*sin(t),t.*cos(t),t)