Bài giảng Tin học chuyên ngành - Chương 5: Đồ họa Matlab - Hoàng Xuân Dương

Bài giảng Tin học chuyên ngành  
211  
Õ
CHƯƠNG 5:  
Giảng viên: Hoàng Xuân Dương  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
212  
I. ĐỒ HỌA 2D  
II. ĐỒ HỌA 3D  
III. CÁC LOẠI HÀM ĐẶC BIỆT  
106  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
213  
I. ĐỒ HỌA 2D:  
Các bước cơ bản để sử dụng các hàm vẽ:  
1. Chuẩn bị dữ liệu  
x = 0:0.2:12;  
y1 = bessel(1,x);  
y2 = bessel(2,x);  
y3 = bessel(3,x);  
2. Chọn cửa sổ và vị trí một vùng vẽ trong của sổ  
figure(1)  
subplot(2,2,1)  
3. Gọi các hàm vẽ  
h = plot(x,y1,x,y2,x,y3);  
4. Chọn nét vẽ và màu sắc  
set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})  
set(h,{'Color'},{'r';'g';'b'})  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
214  
I. ĐỒ HỌA 2D:  
5. Cài đặt thông số trục và lưới  
axis([0 12 -0.5 1])  
grid on  
6. Tạo các chú thích và canh lề cho hình vẽ  
xlabel('Time')  
ylabel('Amplitude')  
legend(h,'First','Second','Third')  
title('Bessel Functions')  
[y,ix] = min(y1);  
text(x(ix),y,'First Min \rightarrow',...  
'HorizontalAlignment','right')  
7. Xuất hình vẽ  
print -depsc -tiff -r200 myplot  
107  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
215  
I. ĐỒ HỌA 2D:  
Các hàm vẽ cơ bản:  
Hàm  
Ý nghĩa  
plot  
plot3  
loglog  
Vẽ 2D với 2 trục x và y tuyến tính  
Vẽ 3D với 3 trục x, y và z tuyến tính  
Vẽ với 2 trục x và y là logarithmic  
semilogx Vẽ với trục x là logarithmic và y tuyến tính  
semilogy Vẽ với trục y là logarithmic và x tuyến tính  
plotyy  
Vẽ có 2 trục y  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
216  
I. ĐỒ HỌA 2D:  
1. Hàm plot:  
Cú pháp hàm plot như sau  
plot(Y)  
plot(X1,Y1,...)  
plot(X1,Y1,LineSpec,...)  
plot(...,'PropertyName',PropertyValue,...)  
plot(axes_handle,...)  
h = plot(...)  
hlines = plot('v6',...)  
108  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
217  
I. ĐỒ HỌA 2D:  
1. Hàm plot:  
Ví dụ:  
>> x=linspace(0,2*pi);  
>> plot(x,sin(x),x,cos(x))  
>> grid on  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
218  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Handle: Mỗi một đối tượng trong màn hình đồ hoạ  
đều được nhận diện bằng một con số, được gọi là  
handle của đối tượng  
Một số hàm liên quan đến các handle đặc biệt:  
Î handle đối tượng gốc  
0
gcf Î trả về handle cho figure hiện hành  
gca Î trả về handle cho trục vẽ hiện hành  
gco Î trả về handle cho đối tượng hiện hành  
gcbfÎ trả về handle cho callback figure  
gcboÎ trả về handle cho callback object  
Gảng vnHng Xuân Dưng  
109  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
219  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Handle (tt)  
Ví dụ:  
>> x=linspace(0,2*pi);  
>> h=plot(x,sin(x),x,cos(x))  
h = 103.0004  
3.0016  
>> gcf  
ans = 1  
>> gca  
ans = 101.0009  
>> set(h(1),'color','r')  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
220  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Các loại nét vẽ đặc biệt:  
plot(x,y,’linestyle_marker_color’)  
linestyle  
Kiểu đường  
'-'  
'--'  
Solid line (default)  
Dashed line  
Dotted line  
':'  
'-.'  
Dash-dot line  
No line  
'none'  
Gảng vnHng Xuân Dưng  
110  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
221  
marker  
Ý nghĩa  
'+'  
Plus sign  
Circle  
'o'  
'*'  
Asterisk  
Point  
'.'  
'x'  
Cross  
'square' or 's'  
Square  
Diamond  
'diamond' or 'd'  
'^'  
Upward-pointing triangle  
Downward-pointing triangle  
Right-pointing triangle  
'v'  
'>'  
'<'  
Left-pointing triangle  
'pentagram' or 'p'  
'hexagram' or 'h'  
'none'  
Five-pointed star (pentagram)  
Six-pointed star (hexagram)  
No marker (default)  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
222  
Giá trị RGB  
[1 1 0]  
[1 0 1]  
[0 1 1]  
[1 0 0]  
[0 1 0]  
[0 0 1]  
[1 1 1]  
[0 0 0]  
Color  
Màu  
yellow  
y
m
c
magenta  
cyan  
r
red  
g
b
w
k
green  
blue  
white  
black  
111  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
223  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Các loại nét vẽ đặc biệt (tt)  
Ví dụ  
>> t=0:pi/100:2*pi;  
>> y1=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);  
>> plot(t,y1,'-',t,y2,'--',t,y3,':')  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
224  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Vẽ điểm - đường - các ký hiệu:  
Ví dụ 1:  
>> x = 0:pi/15:4*pi;  
>> y1 = exp(2*cos(x));  
>> y2 = exp(2*sin(x));  
>> plot(x,y1,'+r',x,y2,'-.ob')  
Gảng vnHng Xuân Dưng  
112  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
225  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Vẽ điểm - đường - các ký hiệu:  
Ví dụ 2:  
>> t = 0:pi/20:2*pi;  
>> plot(t,sin(t),'-.r*')  
>> hold on  
>> plot(t,sin(t-pi/2),'--mo')  
>> plot(t,sin(t-pi),':bs')  
>> hold off  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
226  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Các màu và kích thước nét vẽ:  
plot(x,y,'-mo',...  
'LineWidth',0.5,...  
'MarkerEdgeColor','k',...  
'MarkerFaceColor',[.49 1 .63],...  
'MarkerSize',6)  
Trong đó:  
- lineWidth là độ rộng nét vẽ (mặc định là 0.5)  
- markerEdgrcolor là màu cạnh marker  
- markerfacecolor là màu tô  
- Markersize là kích thước nét vẽ (mặc định là 6)  
Gảng vnHng Xuân Dưng  
113  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
227  
I. ĐỒ HỌA 2D:  
1. Hàm plot:  
¾
Các màu và kích thước nét vẽ (tt)  
Ví dụ 1:  
>> t = 0:pi/20:2*pi;  
>> plot(t,sin(2*t),'-mo',...  
'LineWidth',2,...  
'MarkerEdgeColor','k',...  
% nét vẽ hình tròn  
% màu cạnh hình tròn  
'MarkerFaceColor',[.49 1 .63],...% màu tô các hình tròn  
'MarkerSize',12)  
% kích thước các hình tròn  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
228  
Gảng vnHng Xuân Dưng  
114  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
229  
I. ĐỒ HỌA 2D:  
1. Hàm plot (tt)  
¾
Các màu và kích thước nét vẽ (tt)  
Ví dụ 2:  
>> x=(-pi:pi/2:pi);  
>> y1=sin(x); y2=cos(x);  
>> plot(x,y1,'--','linewidth',4)  
>> hold on  
>> plot(x,y2,'o','markersize',12)  
>> grid on  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
230  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn  
Hàm  
Ý nghĩa  
Hiển thị 1 chuỗi  
Tựa đề  
text  
title  
xlabel Đặt nhãn cho trục x  
ylabel Đặt nhãn cho trục y  
zlabel  
legend Chú thích trên hình  
gtext Hiển thị 1 chuỗi sử dụng chuột  
Đặt nhãn cho trục z  
Gảng vnHng Xuân Dưng  
115  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
231  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
a. text  
Cú pháp:  
text(x,y,'string')  
text(x,y,z,'string')  
text(...'PropertyName',PropertyValue...)  
h = text(...)  
Trong đó:  
(x,y) Î toạ độ vị trí string  
PropertyName Î tên thuộc tính  
PropertyValue Î giá trị thuộc tính  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
232  
™ Các thuộc tính của text:  
verticalalignment  
{top|cap|middle|baseline|bottom}  
¾
Thuộc tính canh lề theo chiều đứng cho text theo vị trí đặt  
text  
Ví dụ:  
>> text(x,y,'string','Verticalalignment','top',...  
Gảng vnHng Xuân Dưng  
116  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
233  
™ Các thuộc tính của text:  
¾
horizontalalignment {left|center|right}  
Thuộc tính canh lề theo hàng ngang cho text theo vị trí  
đặt text  
Ví dụ:  
>> text(x,y,'string','HorizontalAlignment','right',...  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
234  
™ Các thuộc tính của text:  
¾
rotation scalar(degrees)  
Xoay text đi một góc, mặc định là 0  
Fontname  
¾
Kiểu font chữ của text (mặc định Helvetica). Có thể kết  
hợp với các option để định dạng:  
\bf - bold font  
\it - italics font  
\sl - oblique font (rarely available)  
\rm - normal font  
Ví dụ:  
>> text(11,380,'\itConcentration','Rotation',-55,...  
'FontName','Tahoma')  
Gảng vnHng Xuân Dưng  
117  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
235  
™ Các thuộc tính của text:  
¾
Fontsize  
Kích thước font chữ (mặc định là 10)  
Ví dụ:  
>> text(11,380,'Concentration','Rotation',-55, 'fontsize',12)  
¾
string  
Chuỗi văn bản cần được hiển thị. Có thể sử dụng các ký  
hiệu trong bảng sau để tạo các ký tự đặc biệt:  
Bài giảng Tin học chuyên ngành  
236  
Gảng nàng Xuân Dưng  
118  
Bài giảng Tin học chuyên ngành  
237  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
238  
™ Các thuộc tính của text:  
¾
string  
Ví dụ:  
>> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))  
>> text(pi,0,' \leftarrow sin(\pi)','FontSize',18)  
Gảng vnHng Xuân Dưng  
119  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
239  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
b. tittle:  
Cú pháp:  
title('string')  
title(fname)  
title(...,'PropertyName',PropertyValue,...)  
h = title(...)  
Ví dụ:  
>> x=linspace(0,2*pi);  
>> plot(x,sin(x))  
>> title('Do thi sin(x)', 'FontName',...  
'SVNelvetica','Fontsize',15,'color','r')  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
240  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
b. tittle (tt)  
120  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
241  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
c. xlabel-ylabel-zlabel  
Cú pháp:  
xlabel('string')  
xlabel(fname)  
xlabel(...,'PropertyName',PropertyValue,...)  
h = xlabel(...)  
ylabel(...)  
h = ylabel(...)  
zlabel(...)  
h = zlabel(...)  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
242  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
c. xlabel-ylabel-zlabel (tt)  
Ví dụ:  
>> xlabel('Truc x','Fontname','SVNhelvetica',...  
'Fontsize',15,'color','g')  
>> ylabel('Do thi y va z','Fontname','SVNhelvetica',...  
'Fontsize',15,'color','b')  
>> title('Do hoa 2D','Fontname','SVNhelvetica',…  
'Fontsize',15,'color','r')  
Gảng vnHng Xuân Dưng  
121  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
243  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
d. legend: Đặt chú thích cho hình vẽ  
Cú pháp:  
legend('string1','string2',...)  
legend(h,'string1','string2',...)  
legend(string_matrix)  
legend(h,string_matrix)  
legend(axes_handle,...)  
legend('off')  
legend(h,...)  
legend(...,pos)  
h = legend(...)  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
244  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
d. legend (tt)  
Ví dụ:  
>> t=0:pi/100:2*pi;  
>> y1=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);  
>> plot(t,y1,'-',t,y2,'--',t,y3,':')  
>> legend('sin(t)','sin(t-0.25)','sin(t-0.5)',1)  
Gảng vnHng Xuân Dưng  
122  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
245  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
e. gtext  
Đặt text theo vị trí click chuột trên màn hình đồ họa,  
trong không gian 2 chiều  
Cú pháp:  
gtext('string')  
h = gtext('string')  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
246  
I. ĐỒ HỌA 2D:  
2. Các hàm gán nhãn (tt)  
Ví dụ:  
>> x=linspace(0,2*pi,30);  
>> y=sin(x);z=cos(x);  
>> plot(x,y,x,z)  
>> grid  
>> xlabel('Truc x','Fontname','SVNhelvetica','Fontsize',15,'color','g')  
>> ylabel('Do thi y va z','Fontname','SVNhelvetica','Fontsize',15,'color','b')  
>> title('Do hoa 2D','Fontname','SVNhelvetica','Fontsize',15,'color','r')  
>> text(2.5,0.7,'Do thi sin(x)',...  
'FontName','SVNelvetica','Fontsize',11,'color','b')  
>> gtext('Do thi cos(x)','FontName','SVNelvetica','Fontsize',12,'color','g')  
>> legend('sin(x)','cos(x)',-1) % ghi chú về hình vẽ  
123  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
247  
g  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
248  
I. ĐỒ HỌA 2D:  
3. Các hàm cài đặt:  
¾
Hàm subplot(m,n,p):  
Chia màn hình ra làm m hàng và n cột để vẽ hình, với:  
•
•
•
m: là hàng  
n: là cột  
p: là vị trí cần vẽ  
>> x=linspace(-2*pi,2*pi);  
>> subplot(2,2,1); plot(x,sin(x)); title('y=sin(x)')  
>> subplot(2,2,2); plot(x,sinc(x)); title('y=sinc(x)')  
>> subplot(2,2,3); plot(x,cos(x)); title('y=cos(x)')  
>> subplot(2,2,4); plot(x,1-sin(x)); title('y=1-sin(x)')  
>> subplot  
% trả về mặc định  
Gảng vnHng Xuân Dưng  
124  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
249  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
250  
I. ĐỒ HỌA 2D:  
3. Các hàm cài đặt (tt)  
¾
set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})  
Thay đổi nét vẽ, với:  
•
•
LineWidth: Độ lớn nét vẽ  
LineStyle: Loại viết vẽ liên tục hay gián đoạn  
Ví dụ:  
>> x=linspace(-1,1);  
>> h=plot(x,x.*x)  
>> set(h,'LineWidth',5,'LineStyle','--')  
Gảng vnHng Xuân Dưng  
125  
Tải về để xem bản đầy đủ
pdf 64 trang myanh 27160 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học chuyên ngành - Chương 5: Đồ họa Matlab - Hoàng Xuân Dương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_tin_hoc_chuyen_nganh_chuong_5_do_hoa_matlab_hoang.pdf