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 đủ
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:
bai_giang_tin_hoc_chuyen_nganh_chuong_5_do_hoa_matlab_hoang.pdf

