Tải bản đầy đủ (.pdf) (50 trang)

Part 8 TÍNH TOÁN ỨNG DỤNG TRONG KTDK

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.59 MB, 50 trang )

ĐỒ HỌA CĂN BẢN (tt)
‰ Thí dụ lệnh fplot trong số phức:
>> f='cos(tan(x))-tan(sin(x))';
>> fplot(f,[1 2])

©Copyright 2007
MATLAB

61


ĐỒ HỌA CĂN BẢN (tt)
‰ Các lệnh vẽ trong các tọa độ đặc biệt

Polar(t,r): vẽ đồ thị trong tọa độ cực
Semilogx(x,y): Vẽ hàm y theo x với trục y vẽ theo thang log
Semilogy(x,y): Vẽ hàm y theo x với trục x vẽ theo thang log
Loglog(x,y) Vẽ hàm y theo x với thang log cho cả 2 trục tọa
độ
Plotyy(x,y,’function’): Vẽ đồ thị với 2 trục y theo kiểu vẽ
được chọn trong function. Trong đó function nhận các giá
trị plot, semilogy, semilogx…
Plot3(x,y,z): vẽ đường trong không gian 3 chiều.
Subplot(m,n,p): Chia cửa sổ figure ra nhiều ô, m ô theo
chiều đứng, n ô theo chiều ngang, vẽ đồ thị trong ơ thứ p.
©Copyright 2007
MATLAB

62



ĐỒ HỌA CĂN BẢN (tt)
‰ Thí dụ:

ƒ Lệnh polar(t,r): Vẽ đồ thị góc t (radian) trong tọa độ cực theo
bán kính r.
ƒ Lệnh polar(t,r,’linestype’): Vẽ góc t với đường vẽ và nét xác
định ‘linestype’.
>>t = 0:.1:2*pi;
>>polar(t,sin(2*t))

>>polar(t,sin(2*t),'m-')

©Copyright 2007
MATLAB

63


ĐỒ HỌA CĂN BẢN (tt)
‰ Thí dụ, vẽ đường xoắn ốc Archimeder r = 2Ѳ với Ѳ thuộc [0, 4pi]

>> r = 2*t;
>> polar(t,r),title('Duong xoan oc Archimede r = 2\t');

©Copyright 2007
MATLAB

64



ĐỒ HỌA CĂN BẢN (tt)
‰ Thí dụ lệnh loglog(x,y)

>> x = logspace(-1,2);
>> loglog(x,exp(x))

©Copyright 2007
MATLAB

65


ĐỒ HỌA CĂN BẢN (tt)
‰ Thí dụ lệnh semilogx(x,y)

>> x = logspace(-2,3);
>> y = x.^12 + 10;
>> semilogx(x,y) %tương tự cho lệnh semilogy()

©Copyright 2007
MATLAB

66


ĐỒ HỌA CĂN BẢN (tt)
Thí dụ :
>> t=0:pi/20:6*pi;
>> x=sin(t);
>> y=sin(t-pi/2);

>> z=t;
>> subplot(121)
>> plotyy(t,x,t,y,'plot')
>> grid on
>> subplot(122)
>> plot3(x,y,z)
>> grid on
©Copyright 2007
MATLAB

67


ĐỒ HỌA CĂN BẢN (tt)
‰ Các lệnh vẽ liên quan đến SỐ PHỨC

quiver(x,y): vẽ các vector xuất phát từ các vị trí khác
nhau.
fearther(x,y): Vẽ các vector xuất phát từ trục x.
compass(x,y): Vẽ các vector từ một điểm gốc trong
hệ tọa độ cực.
rose(x)

©Copyright 2007
MATLAB

68


Thí dụ-Lệnh quiver

‰ Giả sử ta có một trường vector như sau trong khơng gian R2:

y , thử vẽ hình ảnh của trường
, Q(x,y) =
trong phạm vi x thuộc [1,5] và y thuộc [1,5].

‰ P(x,y) =

x

‰ Trước hết ta viết một sript file (lưu file này với tên Quiver.m)

như sau:

©Copyright 2007
MATLAB

69


Thí dụ-Lệnh quiver (tt)
‰ Sau đó, ta chạy file sript này(Gõ tên file này trong cửa sổ

lệnh->Enter), ta được hình ảnh sau:

©Copyright 2007
MATLAB

70



ĐỒ HỌA CĂN BẢN (tt)
‰ Các lệnh thao tác và điều khiển
Hiển thị cửa sổ đồ họa hiện hành figure(gef)
figure

Tạo ra cửa sổ đồ họa
figure(‘propertyname’,’propertyvalue’,…)

hold

Chuyển từ trạng thái hold là on sang off và ngược
lại

hold on

Giữ lại tất cả màn hình đã vẽ

hold off

Xóa các màn hình đã vẽ chỉ thể hiện màn hình hiện
hành mới (Chế độ mặc định)

axis

Cân chỉnh trục tọa độ và hình dạng của nó

grid

Grid On/ grid off/ grid: Tạo/ tắt lưới cho đồ thị


shg

Hiển thị đồ thị trên màn hình

clg

Xóa đồ thị trên màn hình

zoom

Co vào hoặc dãn ra của đồ thị

©Copyright 2007
MATLAB

71


ĐỒ HỌA CĂN BẢN (tt)
‰ CÁC LỆNH VĂN BẢN TRÊN MÀN HÌNH ĐỒ HỌA

title(‘text’,’property 1’,’property 2’,…): Tiêu đề cho đồ thị
xlabel(‘text’,’property 1’,’property 2’,…): Nhãn trục hoành độ
ylabel(‘text’,’property 1’,’property 2’,…): Nhãn trục tung độ
text(x,y,z,‘chuỗi ‘): Văn bản ở bất kỳ vị trí nào trên đồ thị. X, Y là
tọa độ tâm bên trái của đồ thị.
legend(x,y): Chú thích của đường trên đồ thị
gtext(‘C’): Văn bản ở vị trí con trỏ.


©Copyright 2007
MATLAB

72


ĐỒ HỌA CĂN BẢN (tt)
‰ ĐỌC DỮ LIỆU TỪ MÀN HÌNH ĐỒ HỌA

ƒ Lấy tọa độ diểm trên đồ thị, khi một đồ thị được vẽ
xong, nếu muốn lấy tọa độ của một số điểm trên
đường này, ta sẽ dùng lệnh [x,y] = ginput(n); n là
số điểm cần lấy tọa độ.
ƒ Khi đồ thị hiện ra, ta nhấn phím trái chuột vào các
vị trí mong muốn lấy tọa độ trên đồ thị, các hoành
độ sẽ được chứa trong vector và tung độ trong
vector y.

©Copyright 2007

ƒ Nếu quan hệ giữa hai đại lượng x, y cần được vẽ
bằng các điểm rời rạc, thay vì là đường nối các
điểm (x,y) như vẽ hàm, hàm plot sẽ dùng các điểm
được đánh dấu (data makers)
MATLAB

73


ĐỒ HỌA CĂN BẢN (tt)

‰ Thí dụ, vẽ đồ thị từ số liệu rời rạc bằng cách sử dụng điểm đánh

dấu.
>> x=[5:18];
>> y=[1,2,3,5,4,5,5,7,8,6,9,11,14,20];
>> plot(x,y,'r s')

R: màu đỏ, s: hình vng

©Copyright 2007
MATLAB

74


ĐỒ HỌA CĂN BẢN (tt)
‰ Thí dụ:

Nếu muốn nối liền các điểm được đánh dấu này bằng các
đoạn thẳng, chúng ta có thể vẽ 2 lần.
>>plot(x,y,'r o',x,y)

©Copyright 2007
MATLAB

75


ĐỒ HỌA CĂN BẢN (tt)
‰ Ngoài ra trong lệnh plot ta có thể đưa các thơng số ‘lineWidth’


để định độ rộng của đường vẽ, thông số ‘MarkerSize’ để định
độ lớn (chiều cao) của các điểm được đánh dấu và thông số
“Color” để định màu của đồ thị.
‰ Thí dụ: >>plot(x,y,’o-

’,’LineWidth’,3,’MarkerSize’,8,’Color’,’red’)

©Copyright 2007
MATLAB

76


ĐỒ HỌA CĂN BẢN (tt)
-

Điền tiêu đề cho đồ thị, ta sử dụng lệnh: title(‘text’).

-

Tạo lưới cho đồ thị: grid on

‰ Thí dụ: <
©Copyright 2007
MATLAB

77



ĐỒ HỌA CĂN BẢN (tt)
‰ Kiến tạo hệ trục tọa độ
Lệnh

Mô tả

Axis([xmin xmax ymin ymax])

Thiết lập các giá trị min, max của hệ trục
dùng các giá trị được đưa ra trong vecto
hàng.

V= axis

V là vector cột có chứa thang chia cho đồ thị
hiện tại: [xmin xmax ymin ymax]

Axis auto

trả lại giá trị mặc định thang chia

Axis(‘auto’)

Xmin=min(x), xmax = max(x)…

Axismanual

Giới hạn thang chia nh thang chia hiện tại


Axis xy

Sử dụng (mặc định) hệ tọa độ decac trong đó
gốc tọa độ ở góc thấp nhất bên trái, trục
ngang tăng từ trái qua phải, trục đứng tăng
từ dưới lên.

©Copyright 2007

MATLAB

78


ĐỒ HỌA CĂN BẢN (tt)
Lệnh

Mô tả

Axis ij

Sử dụng hệ tọa độ ma trận, trong đó góc tọa độ ở
đỉnh góc trái, trục đứng tăng từ đỉnh xuống, trục
ngang từ trái qua phải.

Axissquare

Thiết lập đồ thị hiện tại là hình vng, so với mặc
định là hình chữ nhật.


Axisequal

Thiết lập thang chia giống nhau cho cả hai hệ trục

Axis tightequal

Tương tự như axisequal nhưng hộp đồ thị vừa đủ
đối với dữ liệu

Axis normal

Tắt đi chế độ axis, equal, tight và vis3d

Axis off

Tắt bỏ chế độ nền trục, nhãn, lưới, và hộp, dấu.
Thoát khỏi chế độ lệnh title và bất cứ lệnh label nào
và thay đổi bởi lệnh text và gtext.

Axis on

Ngược lại với axis off nếu chúng có thể

©Copyright 2007

MATLAB

79



ĐỒ HỌA CƠ BẢN (tt)
Thí dụ:
>>x=linspace(0,2*pi,30);
>>y=sin(x);
>>z=cos(x);
>>plot(x,y,x,z)
>>box off
% Sau khi sử dụng lệnh
>>axis off
>>axis ij
>>axis square equal
>>axis xy normal

©Copyright 2007
MATLAB

80


ĐỒ HỌA TRONG KHÔNG GIAN 3 CHIỀU
‰ Các lệnh vẽ trong tọa độ Đềcac ba chiều

plot3: Vẽ đường thẳng và điểm trong khơng gian 3
chiều
Thí dụ:
Vẽ đường cong tham số:
x =e-0.05tsint
y =e-0.05tcost
z = t ∈[0,10π]


©Copyright 2007
MATLAB

81


ĐỒ HỌA TRONG KHÔNG GIAN 3 CHIỀU (tt)
‰ Thực hiện
>> t = [0:pi/50:10*pi];
>> x = exp(-0.05*t).*sin(t);
>> y = exp(-0.05*t).*cos(t);
>> z = t;
>> plot3(x,y,z),xlabel(‘x’),ylabel(‘y’),zlabel(‘z’)
>> zlabel(‘z’),grid;

©Copyright 2007
MATLAB

82


ĐỒ HỌA TRONG KHÔNG GIAN 3 CHIỀU (tt)
‰ CÁC LỆNH VẼ BIÊN DẠNG (contour)

contour: Vẽ các đường đồng mức
clabel: Nhãn

©Copyright 2007
MATLAB


83


ĐỒ HỌA TRONG KHÔNG GIAN 3 CHIỀU (tt)
‰ CÁC LỆNH TẠO LƯỚI (grid)

Meshgrid(x,y)
Meshgrid(x,y,z)
Cylinder(r,u)
[X,Y,Z] = CYLINDER(R,N) forms the unit cylinder based on the
generator curve in the vector R. Vector R contains the radius at
equally spaced points along the unit height of the cylinder. The
cylinder has N points around the circumference. SURF(X,Y,Z)
displays the cylinder.
[X,Y,Z] = CYLINDER(R), and [X,Y,Z] = CYLINDER default to N
= 20 and R = [1 1].
Sphere(n)
SPHERE Generate sphere.
[X,Y,Z] = SPHERE(N) generates three (N+1)-by-(N+1) matrices
so that SURF(X,Y,Z) produces a unit sphere.
[X,Y,Z] = SPHERE uses N = 20.
©Copyright 2007
MATLAB

84


ĐỒ HỌA TRONG KHÔNG GIAN 3 CHIỀU (tt)
‰ Tạo một lưới các điểm trong mặt phẳng xy


ƒ Cú pháp:
[X,Y] = meshgrid(x,y)
Trong đó:
x = [xmin,Δx,xmax]
y = [ymin,Δy,ymax]
ƒ Chức năng:

©Copyright 2007



Hàm meshgrid sẽ phát sinh các tọa độ của một lưới chữ
nhật có m.n điểm với một góc (xmin,ymin) cịn góc kia là
(xmax,ymax).



Ma trận X có kích thước m.n gồm n cột giống nhau là vector
x’ và ma trận Y cũng có kích thước m.n hàng giống nhau là
vector y.



Mỗi ơ lưới sẽ có kích thước Δx, và Δy.
MATLAB

85



×