Upload
wauna
View
123
Download
0
Embed Size (px)
DESCRIPTION
Chap 5. 特殊圖形. 方煒 台大生機系. 二維 特殊圖形. 特殊繪圖函數. 長條圖之繪製. 長條圖 ( Bar Graphs )特別適用於少量且離散的資料。欲畫出垂直長條圖,可用 bar 指令。 範例: bar01.m x = [1 3 4 5 2]; bar(x);. 長條圖之繪製 (cont.). bar 指令也可接受矩陣輸入,它會將同一橫列的資料聚集在一起。 範例: bar02.m x = [2 3 4 5 7; 1 2 3 2 1]; bar(x);. 長條圖之繪製 (cont.). - PowerPoint PPT Presentation
Citation preview
1
MATLAB 之工程應用:特殊圖形
Chap 5. 特殊圖形
方煒 台大生機系
2
MATLAB 之工程應用:特殊圖形
二維 特殊圖形
3
MATLAB 之工程應用:特殊圖形
特殊繪圖函數
指令 說明bar, barh, bar3, bar3h 長條圖Area 面積圖pie, pie3 扇形圖stem, stem3 針頭圖stairs 階梯圖fill, fill3 實心圖quiver, quiver3 向量場圖contour, contourf, contour3
等高線圖
4
MATLAB 之工程應用:特殊圖形
長條圖之繪製 長條圖 ( Bar Graphs )特別適用於少量且離散的資料。欲畫出垂直長條圖,可用 bar 指令。
範例: bar01.mx = [1 3 4 5 2];bar(x);
1 2 3 4 50
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.)
bar 指令也可接受矩陣輸入,它會將同一橫列的資料聚集在一起。
範例: bar02.m x = [2 3 4 5 7; 1 2 3 2
1]; bar(x);
1 20
1
2
3
4
5
6
7
6
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.)
bar 及 barh 指令還有一項特異功能,就是可以將同一橫列的資料以堆疊( Stack )方式來顯示。
範例: bar03.m x = [2 3 4 5 7; 1 2 3 2
1]; bar(x,'stack')
1 20
5
10
15
20
25
7
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.)
除了平面長條圖之外, MATLAB 亦可使用 bar3 指令來畫出立體長條圖。
範例: bar04.mx = [2 3 4 5 7; 1 2 3 2 1];bar3(x)
1
2
0
2
4
6
8
8
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.)
bar3 指令還可以使用群組( Group )方式來呈現長條圖
範例: bar05.mx = [2 3 4 5 7; 1 2 3 2 1];bar3(x, 'group')
1
2
0
2
4
6
8
9
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.)
長條圖的指令和類別 :
垂直長條圖 水平長條圖
平面 bar barh
立體 bar3 bar3h
10
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.) 若要指定長條圖的 x 座標,可使用兩個輸入向量給 bar 指
令。假設新竹的月平均溫度如下:
範例: bar06.mx = 1:6; % 月份 y = 35*rand(1, 6); % 溫度值(假設是介於 0 ~ 35 的
亂數)bar(x, y); xlabel(' 月份 '); % x 軸的說明文字ylabel(' 平均溫度 (^{o}c)'); % y 軸的說明文字% 下列指令將 x 軸的數字改成月數set(gca, 'xticklabel', {' 一月 ',' 二月 ',' 三月 ', ' 四月 ', ' 五
月 ', ' 六月 '});
11
MATLAB 之工程應用:特殊圖形
長條圖之繪製 (cont.)
12
MATLAB 之工程應用:特殊圖形
面積圖之繪製 面積圖( Area Graphs )和以堆
疊方式呈現的長條圖很類似,特別適用於具有疊加關係的資料。舉例來說,若要顯示清華大學在過去 10 年來的人數(含大學部,研究生,及教職員)變化情況,可用面積圖顯示。
範例: area01.my = rand(10,3)*100;x = 1:10;area(x, y);xlabel('Year');ylabel('Count')
13
MATLAB 之工程應用:特殊圖形
扇形圖之繪製 使用 pie 指令,可畫出平面扇形圖( Pie Charts ),並可加上說明。
範例: pie01.mx = [2 3 5 4];label={' 東 ',' 南 ',' 西 ',' 北 '};pie(x, label);
14
MATLAB 之工程應用:特殊圖形
扇形圖之繪製 (cont.)
pie 指令直接將 x 元素視為面積百分比,因此可畫出不完全的扇形圖。
範例: pie02.mx = [0.21, 0.14, 0.38];pie(x);
21%
14%
38%
15
MATLAB 之工程應用:特殊圖形
扇形圖之繪製 (cont.)
pie 指令還有一特異功能,可將某個或數個扇形圖向外拖出,以強調部份資料。
範例: pie03.mx = [2 3 5 4];explode = [1 1 0 0];pie(x, explode);
14%
21%
36%
29%
其中指令 explode 中非零的元素即代表要向外拖出的扇形。
16
MATLAB 之工程應用:特殊圖形
扇形圖之繪製 (cont.)
欲畫出立體扇形圖,可用 pie3 指令。
範例 : pie301.mx = [2 3 5 4];explode = [1 1 0 0];label = {' 春 ',' 夏 ',' 秋 ',' 冬 '};pie3(x, explode, label);
17
MATLAB 之工程應用:特殊圖形
針頭圖之繪製 顧名思義,針頭圖
( Stem Plots )就是以一個大頭針來表示某一點資料,其指令為 stem 。
範例: stem01.mt = 0:0.2:4*pi;y = cos(t).*exp(-t/5);stem(t, y)
0 2 4 6 8 10 12 14-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
18
MATLAB 之工程應用:特殊圖形
針頭圖之繪製 (cont.)
針頭圖特別適用於表示「數位訊號處理」( DSP , Digital Signal Processing )中的數位訊號。若要畫出實心的針頭圖,可加“ fill” 選項。
範例: stem02.mt = 0:0.2:4*pi;y = cos(t).*exp(-t/5);stem(t, y, 'fill');
0 2 4 6 8 10 12 14-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
19
MATLAB 之工程應用:特殊圖形
5-4 針頭圖之繪製 (cont.)
欲畫出立體的針頭圖,可用 stem3 指令。
範例 5-14 : stem301.mtheta = -pi:0.05:pi;x = cos(theta);y = sin(theta);z = abs(cos(3*theta)).*exp(-abs(theta/3));stem3(x, y, z);
-1-0.5
00.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
Fig. 5-14
20
MATLAB 之工程應用:特殊圖形
階梯圖之繪製 使用 stairs 指令,可畫出
階梯圖( Stairstep Plots ),其精神和針頭圖很相近,只是將目前資料點的高度向右水平畫至下一點為止。(在數位訊號處理,此種作法稱為 Zero-order Hold。)
範例: stairs01.mt = 0:0.4:4*pi;y = cos(t).*exp(-t/5);stairs(t, y);
0 2 4 6 8 10 12 14-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
21
MATLAB 之工程應用:特殊圖形
階梯圖之繪製 (cont.) 若再加上針頭圖,則可見兩
者相似之處。
範例: stairs02.mt = 0:0.4:4*pi;y = cos(t).*exp(-t/5);stairs(t, y);hold on % 保留舊圖形stem(t, y); % 疊上針頭圖hold off
0 2 4 6 8 10 12 14-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
22
MATLAB 之工程應用:特殊圖形
實心圖之繪製 MATLAB 指令 fill 將資料
點視為多邊形頂點,並將此多邊形塗上顏色,呈現出實心圖( Filled Plots )的結果。
範例 : fill01.mt = 0:0.4:4*pi;y = sin(t).*exp(-t/5);fill(t, y, 'b'); % 'b' 為藍色
0 2 4 6 8 10 12 14-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
23
MATLAB 之工程應用:特殊圖形
實心圖之繪製 (cont.)
若與 stem 合用,則可創造出一些不同的視覺效果。
範例 : fill02.mt = 0:0.4:4*pi;y = sin(t).*exp(-t/5);fill(t, y, 'y'); % 'y' 為黃色hold on % 保留舊圖形stem(t, y, 'b'); % 疊上藍色針頭圖hold off
0 2 4 6 8 10 12 14-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
24
MATLAB 之工程應用:特殊圖形
實心圖之繪製 (cont.) fill3 可用於三維的實
心圖。
範例 : fill301.mX = [0 0 1 1];Y = [0 1 1 0];Z = [0 1 1 0];C = [0 0.3 0.6 0.9]';fill3(X, Y, Z, C);
25
MATLAB 之工程應用:特殊圖形
實心圖之繪製 (cont.)
使用 fill3 指令,我們亦可以畫出各種酷酷的圖形。
範例 : fill302.mt = (1/16:1/8:1)'*2*pi;x = sin(t);y = cos(t);c = linspace(0, 1, length(t));fill3(x, y/sqrt(2), y/sqrt(2), c, x/sqrt(2), y, x/sqrt(2), c);axis tight
26
MATLAB 之工程應用:特殊圖形
常用三維圖形
quiver(x, y, z) meshc contour3
contourfquiver3
27
MATLAB 之工程應用:特殊圖形
向量場圖之繪製 使用 quiver 指令可畫出平面
上的向量場圖( Quiver Plots ),特別適用於表示分布於平面的向量場 ( Vector Fields ),例如平面上的電場分布,或是流速分布 。
範例: quiver01.m[x, y, z] = peaks(20);[u, v] = gradient(z);contour(x, y, z, 10);hold on, quiver(x,y,u,v);
hold off;axis image
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
28
MATLAB 之工程應用:特殊圖形
向量場圖之繪製 (cont.)
欲畫出空間中的向量場圖,可用 quiver3 指令。
範例: quiver301.m[x, y] = meshgrid(-2:0.2:2, -1:0.1:1);z = x.*exp(-x.^2-y.^2);[u, v, w] = surfnorm(x, y, z);quiver3(x, y, z, u, v, w);hold on, surf(x, y, z); hold offaxis equal
29
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 我們可用 contour 指令來畫出「等高線圖」( Contour Plots )。
範例: contour01.mz = peaks;contour(z, 30);% 畫出 30 條等高線 5 10 15 20 25 30 35 40 45
5
10
15
20
25
30
35
40
45
30
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) 若要畫出特定高度的等高線,可執行如下:
範例: contour02.mz = peaks;contour(z, [0 2 5]);
5 10 15 20 25 30 35 40 45
5
10
15
20
25
30
35
40
45
31
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) 欲標明等高線的高度,可用 clabel 指令。
範例: contour03.mz = peaks;[c,handle] = contour(z, 10);clabel(c, handle);
5 10 15 20 25 30 35 40 45
5
10
15
20
25
30
35
40
45
-3.8881
-1.2296
-1.2296
0.099636
32
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) 若欲在等高線之間填入顏色,可用 contourf 指令。
範例: contour04.mz = peaks;contourf(z); 5 10 15 20 25 30 35 40 45
5
10
15
20
25
30
35
40
45
33
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.)
若要使畫出的等高線對應至正確的 x 及 y
座標,則可執行如下:
範例: contour05.m[x,y,z] = peaks;contour(x, y, z); % 使用三個輸入
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
34
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) contourf 亦可接受 x 、y 、 z 輸入引數。若要將等高線畫在曲面的正下方,可用 surfc 或 meshc 指令。
範例: contour06.m[x, y, z] = peaks;meshc(x, y, z);axis tight
35
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) 若要畫出三度空間中的等高線,可用 contour3 指令。
範例: contour301.m[x, y, z] = peaks;contour3(x, y, z, 30);axis tigh
-2-1
01
2
-2-1
01
23-6
-4
-2
0
2
4
6
36
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) 使用 contour 指令亦可畫出極座標中的等高線,但過程較為複雜,以
下列複數函數為例:
其中 z 代表複數平面中的任一點複數,如果我們要畫出此函數的等高線,可見下列範例:
範例: contour07.mt = linspace(0, 2*pi, 61); % 角度的格子點r = 0:0.05:1; % 長度的格子點[tt, rr] = meshgrid(t, r); % 產生二維的格子點[xx, yy] = pol2cart(tt, rr); % 將極座標轉換至直角座標zz = xx + sqrt(-1)*yy; % 複數表示ff = abs(zz.^3-1); % 曲面的函數contour(xx, yy, ff, 50); % 畫出等高線axis image
1)( 3 zzf
37
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.)
38
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.)
上例中,座標的標示仍為直角座標。
欲將等高線顯示於極座標上,需先用 polar 指令產生一個極座標圖,再移除圖形,留下圖軸,然後再進行作圖。
範例: contour08.m
h = polar([0 2*pi], [0 1]);delete(h);hold oncontour(x, y, abs(f), 30);hold off
% 產生在極座標上的一條直線% 移除上述圖形,但留下極座標圖軸
*要注意的是,你必須先執行 contour07.m, 然後再執行 contour08.m,才能得到上述 的極座標等高線的效果。
39
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.) 我們也可以同時畫出複數函數的曲面和等高線圖,例如,下列範例可以
畫出複數函數 :
範例: contour09.mt = linspace(0, 2*pi, 61); % 角度的格子點r = 0:0.05:1; % 長度的格子點[tt, rr] = meshgrid(t, r); % 產生二維的格子點[xx, yy] = pol2cart(tt, rr); % 將極座標轉換至直角座標zz = xx + sqrt(-1)*yy; % 複數表示ff = abs(zz.^3-1); % 曲面的函數值h = polar([0 2*pi], [0 1]); % 產生在極座標上的一條直線delete(h); % 移除上述圖形,但留下極座標圖軸hold oncontour(xx, yy, ff, 20); % 等高線surf(xx, yy, ff); % 曲面圖hold offview(-19, 22); % 設定觀測角度
40
MATLAB 之工程應用:特殊圖形
等高線圖之繪製 (cont.)
41
MATLAB 之工程應用:特殊圖形
Ex5_1a meshgrid
%*********************************************************% Define the arrays x and y. Warning: don’t make the step size too small%*********************************************************clear; close all; x=-1:.1:1; y=0:.1:1.5;%*********************************************************% Use meshgrid to convert these 1-d arrays into 2-d matrices of% x and y values over the plane%*********************************************************[X,Y]=meshgrid(x,y);%*********************************************************% Get f(x,y) by using f(X,Y). Note the use of .* with X and Y rather than with x
and y%*********************************************************f=(2-cos(pi*X)).*exp(Y);%*********************************************************% Note that this function is uphill in y between x=-1 and x=1 and has a valley
at x=0%*********************************************************surf(X,Y,f); length(x), length(y), size(f)
42
MATLAB 之工程應用:特殊圖形
Ex5_1b ndgrid
[X,Y]=ndgrid(x,y);f=(2-cos(pi*X)).*exp(Y);surf(X,Y,f);length(x)length(y)size(f)
43
MATLAB 之工程應用:特殊圖形
Ex5_2a Contour Plots
%*****************************************************% make a contour plot by asking Matlab to evenly space N contours% between the minimum of f(x,y) and the maximum f(x,y) (the default)%*****************************************************
N=40;contour(X, Y, f, N);title(’Contour Plot’);xlabel(’x’);ylabel(’y’);pause
44
MATLAB 之工程應用:特殊圖形
Ex5_2b Contour Plots%****************************************************% You can also tell Matlab which contour levels you want to plot.%****************************************************
close all; top=max(max(f)); % find the max and min of f
bottom=min(min(f));dv=(top-bottom)/20; % interval for 21 equally spaced
contours
V=bottom:dv:top;cs=contour(X,Y,f,V);clabel(cs,V(1:2:21)) % give clabel the name of the plot and% an array of the contours to label
title(’Contour Plot’)xlabel(’x’); ylabel(’y’)pause
45
MATLAB 之工程應用:特殊圖形
Ex5_2c Surface Plots
%*********************************************************% Now make a surface plot of the function with the viewing% point rotated by AZ degrees from the x-axis and% elevated by EL degrees above the xy plane%*********************************************************
close all;surf(X,Y,f); % or you can use mesh(X,Y,f) to make a wire
plot
AZ=30;EL=45;view(AZ,EL);title(’Surface Plot’);xlabel(’x’); ylabel(’y’);pause
46
MATLAB 之工程應用:特殊圖形
Ex5_2d Surface Plots
%*********************************************************************
% Here’s a piece of code that lets you fly around the% surface plot by continually changing the viewing angles% and using the pause command. %********************************************************************
close all; surf(X,Y,f);title(’Surface Plot’)xlabel(’x’); ylabel(’y’); EL=45;for m=1:100AZ=30+m/100*360; view(AZ,EL);pause(.1); % pause units are in secondsendpause
47
MATLAB 之工程應用:特殊圖形
Ex5_2e Surface Plots
%*******************************************************************************% This same trick will let you make animations of both xy and surface plots. To make this
surface% oscillate up and down like a manta ray you could do this.%*******************************************************************************
dt=.1;for m=1:100t=m*dt; g=f*cos(t); surf(X,Y,g);AZ=30;EL=45; view(AZ,EL);title(’Surface Plot’); xlabel(’x’);
ylabel(’y’)axis([-1 1 -1 1 min(min(f)) max(max(f))]);pause(.1)end
help graph3d
48
MATLAB 之工程應用:特殊圖形
Ex5_3 Evaluating Fourier Series
clear; close all;% set some constantsa=2;b=1;Vo=1;Nx=80;Ny=40; % build the x and y gridsdx=2*b/Nx;dy=a/Ny;x=-b:dx:b; y=0:dy:a;[X,Y]=meshgrid(x,y); % build the 2-d grids for plotting% set the number of terms to keep and do the sumNterms=20;% zero V out so we can add into itV=zeros(Ny+1,Nx+1);% add the terms of the sum into Vfor m=0:NtermsV=V+cosh((2*m+1)*pi*X/a)/cosh((2*m+1)*pi*b/a).*sin((2*m+1)*pi*Y/a)/(2*m+1);end% put on the multiplicative constantV=4*Vo/pi*V;% surface plot the resultsurf(X,Y,V); xlabel(’x’); ylabel(’y’); zlabel(’V(x,y)’);
49
MATLAB 之工程應用:特殊圖形
Ex5_4a Vector Field Plots
clear;closex=-5.25:.5:5.25;y=x; % define the x and y grids (avoid (0,0))[X,Y]=meshgrid(x,y);% Electric field of a long charged wireEx=X./(X.^2+Y.^2);Ey=Y./(X.^2+Y.^2);quiver(X,Y,Ex,Ey); % make the field arrow plottitle(’E of a long charged wire’)axis equal % make the x and y axes be equally scaledpause% Magnetic field of a long current-carrying wireBx=-Y./( X.^2+Y.^2);By=X./(X.^2+Y.^2);% make the field arrow plotquiver(X,Y,Bx,By)axis equaltitle(’B of a long current-carrying wire’)pause
50
MATLAB 之工程應用:特殊圖形
Ex5_4b Vector Field Plots
%********************************************************% The big magnitude difference across the region makes most arrows too small
% to see. This can be fixed by plotting unit vectors instead (losing all% magnitude information%********************************************************B=sqrt(Bx.^2+By.^2);Ux=Bx./B; Uy=By./B;quiver(X,Y,Ux,Uy);axis equaltitle(’B(wire): unit vectors’)pause
51
MATLAB 之工程應用:特殊圖形
Ex5_4c Vector Field Plots
%*********************************************************% You can still see qualitative size information% without such a big variation in arrow size by% having the arrow length be logarithmic. If s is% the desired ratio between the longest arrow and% the shortest one, this code will make the appropriate% field plot.%*********************************************************Bmin=min(min(B)); Bmax=max(max(B));s=2; % choose an arrow length ratiok=(Bmax/Bmin)^(1/(s-1));logsize=log(k*B/Bmin);Lx=Ux.*logsize;Ly=Uy.*logsize;quiver(X,Y,Lx,Ly);axis equaltitle(’B(wire): logarithmic arrows’)
52
MATLAB 之工程應用:特殊圖形
其他進階繪圖功能
MATLAB 在 5.3 版後,開始支援「容積目視法」( Volume Visualization )
能夠畫出在三度空間中的 流線圖 向量場圖 等高面圖( Isosurfaces ) 切面圖( Slices )等
53
MATLAB 之工程應用:特殊圖形
容積目視法 相關指令 v5.3 以上版本
指令 說明coneplot 以圓錐瓶畫出三度空間的向量場圖contourslice 在三度空間的切面上畫出等高線isosurface 從容積資料中算出等高面資料isocaps 計算等高面在端點切片的等高資訊isonormals 計算等高面的法向量slice 在三度空間的切片streamline 從 2D 或 3D 的流線資料來畫流線圖
54
MATLAB 之工程應用:特殊圖形
isocolors 計算等高區面頂點的顏色
divergence 計算 3-D向量場的亂度( Divergence)
curl 計算 3-D向量場的 curl 及垂直方向的角速度
streamtube 由向量資料畫出流線管( Stream Tubes)
streamribbon 由向量資料畫出流線緞帶( Stream Ribbons)
streamslice 由向量資料畫出間隔分明的流線
streamparticles 由向量資料畫出流線粒子( Stream Particles)
interpstreamspeed 由速度對流線頂點做內差( Interpolation)
volumebounds 傳回容積資料的座標及顏色極限值
容積目視法 相關指令 v6.0 以上版本
55
MATLAB 之工程應用:特殊圖形
容積目視法 相關示範
在 MATLAB 指令視窗下輸入 volvec ,以開啟展示視窗
共有六個示範程式 在點選「 Multiple 」之後,產生如右圖形
56
MATLAB 之工程應用:特殊圖形
Contour map 應用例
植物工廠內栽培床架上人工光源配置與給光均勻度分析
57
MATLAB 之工程應用:特殊圖形
植物工廠示意圖
保溫層讓內外部熱傳導降至最小
Artificial light
人工光源
58
MATLAB 之工程應用:特殊圖形
植物工廠
59
MATLAB 之工程應用:特殊圖形
植物工廠
60
MATLAB 之工程應用:特殊圖形
光分佈量測與改善燈具高度 10 公分 ( 量測距離 ) ,栽培床為
120 x 40 公分保麗龍板,於長邊取 13 點,短邊取 6 點,共 78 個測量點
循序改善:
61
MATLAB 之工程應用:特殊圖形
光分佈改善 (1=>2)
62
MATLAB 之工程應用:特殊圖形
光分佈改善 (2=>3)
63
MATLAB 之工程應用:特殊圖形
光分布測量結果
條件
光量 ( μmol/m2/s )
消耗功率( W )
平均值 標準差 最大值
1.等距離排列 246 85 348168 W
六支長燈管
2.等距排列,中間間隔增加 215 63 284168 W
六支長燈管
3. 中間間隔增加且兩側補光 236 45 286
184 W六支長燈管 + 兩支短燈
管
64
MATLAB 之工程應用:特殊圖形
加反光紙 (6支燈管減少為 4支燈管 )
減少燈管至 4支雖然降低光量,光分佈能夠較均勻較節省能源
10 cm
反光紙5cm 10 cm5cm
6 支燈管 + 兩側補光 + 兩側反光
4 支燈管 + 兩側補光
+ 兩側反光
側視圖
65
MATLAB 之工程應用:特殊圖形
五種給光條件之彙整條件
光量 ( μmol/m2/s ) 消耗功率 ( W )
平均值 標準差 最大值
1.等距離排列 246 85 348168
六支長燈管2.等距排列但中間間隔增加 215 63 284
168六支長燈管
3.中間間隔增加且兩側補光 236 45 286
184六支長燈管 + 兩支短燈
管
4.於條件 3 加反光紙 337 40 405184
六支長燈管 + 兩支短燈管
5.於條件 4 減兩支長燈管 230 30 282128
四支長燈管 + 兩支短燈管
66
MATLAB 之工程應用:特殊圖形
67
MATLAB 之工程應用:特殊圖形
改善前後光分佈立體圖 改善前 ( 條件 1) 改善後 ( 條件 5)
68
MATLAB 之工程應用:特殊圖形
改善前後光分佈等高線圖
69
MATLAB 之工程應用:特殊圖形
結論透過燈管排列的調整與增加反光紙可達到
減少燈管數量 ( 6 長 2短 4 長 2短) 固定成本降低接近 1/3
減少燈管功率 (184 W降至 128 W) 操作成本減少 30 %
提高均勻度 ( 標準差從 85降至 30 μmol/m2/s)
目的