Trang 1 Chương 4 Đồ hoạ Trong Matlab 4 .1 Điểm và đường trong đồ hoạ matlab Dùng hàm Plot để vẽ điểm -Đường thẳng trong mặt phẳng Để vẽ các đường trong mặt phẳng,các hàm số phụ thuộc
Trang 1Trang 1
Chương 4
Đồ hoạ Trong Matlab
4 1 Điểm và đường trong đồ hoạ matlab
Dùng hàm Plot để vẽ điểm -Đường thẳng trong mặt phẳng
Để vẽ các đường trong mặt phẳng,các hàm số phụ thuộc vào biến ví dụ như y=f(x) thì trong matlab cung cấp cho ta hàm plot(x,y) để vẽ ,trong không gian ba chiều thì dùng hàm plot3(x,y,z)
trước hết ta nói qua về cách dùng hàm plot và các ví dụ minh hoạ cụ thề để hiểu rõ hơn về vấn đề này:
Hàm plot có nhiều cách dùng như bạn đã thấy ở trên
plot(y): Hàm này để biểu diễn các cột của y theo các chỉ số tương ứng của chúng nếu y là ma trận các số thực, nếu y là số phức thì plot(y) tương ứng với
Trang 2Các dấu tròn trên hình vẽ thể hiện các giao điểm giữa các phần tử của các cột và các chỉ
số tương ứng của chúng trong từng cột
Cụ thể các giao điểm (1,1) và (2,1);(3,1) tương ứng là phần tử thứ nhất của các cột,do là phần tử thứ nhất cho nên có chỉ số là 1
plot(x,y ): Vẽ các đường thẳng tương ứng với các cặp điểm (x,y )của véc tơ x và vec
tơ y.Nếu chỉ một trong x hoặc y là ma trận thì nó sẽ vẽ theo vector cột hoặc hàng tương ứng với vector còn lại phù hợp với kích thước hàng hay cột của matrận đó
Matlab cho phép bạn sử dụng một số ký tự sau đây để xác định thuộc tính của đường
Line style
Line width
Color
Marker type
Trang 3Trang 3
Marker size
Marker face and edge coloring (for filled markers)
Matlab định nghĩa các chuỗi xác định cho kiểu đường, Marker types và colors
1 Line Style Specifiers
Specifier Line Style
Trang 4V downward pointing triangle
> right pointing triangle
< left pointing triangle
P five-pointed star (pentagram)
H six-pointed star (hexagram)
Line style (kiểu đường)
Marker symbol (Kiểu đánh dấu)
Color (kiểu mầu)
Trang 5Giải thích như sau:
Hàm trên vẽ đồ thị f=sin(2*t) theo biến t, đặc tính của đường là mầu (magne) ,giao hai điểm là hình tròn(s), đường là liên tục(solid line)
Line width là 2(point) ( 1point=1/72 inches) default là 0.5 points
MarkerEdgeColor là mầu đen( blue)
Mỗu trong (mặt) của các điểm nút giao là mầu đỏ:
Chúng ta thấy rằng đồ thị được xây dựng từ việc nối các điểm có toạ độ (x,y) bằng các đoạn thẳng
*tỷ lệ các trục sẽ được matlab tự động tạo ra sao cho phù hợp
4.1.3 Để vẽ nhiều đồ thị trên cùng một hình vẽ thì chúng ta có hai cách
+Vẽ đồ thị thứ nhất
+ Dùng lệnh Hold on
+Vẽ tiếp đồ thị thứ hai + hold off
hoặc Dùng hàm plot(x1,y1,x2,y2)
Trang 6Ví dụ ta vẽ hai hàm y=sin(x) và y1=cos(x)
Ta dùng lệnh plot như sau:
plot(x,y,x,y1);
4.1.4 Title , xlabel, ylabel, gtext, legend, grid
Title dùng để viết tiêu đề cho đồ thị
Ví dụ Title( )
Xlabel( string) đặt tên nhãn cho trục x
Ylabel(string) đặt tên nhãn cho trục y
Gtext(string) để viết text vào đồ thị
Legend(string,-1) để ghi chú thích cho đồ thị, số -1 để ghi chú thích bên ngoài các trục của hình vẽ
Grid on hoặc Grid off để mở hoặc tắt Grid
xlabel('truc thoi gian');
ylabel('truc Sin va cos');
title('Do thi ham sin(2*t)');
hold on;
j=cos(2*t);
plot(t,j,'-b+');
hold off;
4.2 Hàm plot3(x,y,z) để vẽ các điểm và đường trong không gian
Ngoài việc thêm trục z các hàm này sử dụng giống như hàm plot(x,y)
Trang 7Trang 7
Việc sử dụng các hàm này giống với hàm Plot trong 2D do vậy ta không đề cập tới
nữa
Chú ý tới hàm View(a,b) để quan sát góc nhìn của đồ thị trong đó a là góc tính theo
chiều ngược chiều kim đồng hồ từ phía âm của trục y còn b là góc nhìn tính bắng
Semilogx(y) vẽ giống như plot(y) nhưng chỉ khác rằng tỷ lệ trên trục x là logarit cơ
số 10, tương tự như vậy đối với Semilogy(y) thì tỷ lệ trên trục y theo logarit cơ số 10
ylabel('log');
titl ('
subplot(2,2,3)
; loglog(x,y,'.');
xlabel('log');
ylabel('log');
titl ('
subplot(2,2, 4);
plot(x,y,'.'); xlabel('tuye
n tinh');
l b l('t
Trang 8Trong không gian 3 chiều thì ta không dùng các hàm trên để vẽ ,mà ta sử dụng hàm
plot3 và dùng hàm set để đặt trục toạ độ
polar(theta,rho) creates a polar coordinate plot of the angle theta versus the radius
rho theta is the angle from the x-axis to the radius vector specified in radians; rho is
the length of the radius vector specified in dataspace units
polar(theta,rho,LineSpec) LineSpec specifies the line type, plot symbol, and color for the lines drawn in the polar plot
Examples
Create a simple polar plot using a dashed, red line:
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),' r')
this is a figure for plotting Polar(phi, r);
Khi chuyển từ hệ toạ độ cực sang hệ toạ độ Đêcart ta làm như sau
[x,y]=pol2cart(phi, r) sau đó dùng lệnh Plot(x,y)
Trang 9notice : command Axis(‘equal’) set unit which is divided in X and Y axis
Đối với hệ toạ độ cầu Trong Matlab không có hàm để vẽ tuy nhiên ta có thể chuyển đổi từ hệ toạ độ cầu thành hệ toạ độ ĐềCart trong không gian
[x,y,z]=sph2cart(theta,phi,r) sau đó dùng hàm vẽ trong không gian là plot3(x,y,z) 4.5 Đồ thị cột
bar(x,Y) vẽ một đồ thị cột cho mỗi phần tử trong Y tại các vị trí xác định trong x, ở
đó x là vector tăng định nghĩa các khoảng cho các cột thẳng đứng Nếu Y là một ma trận, bar gộp các cột tương ứng trong cùng một hàng trong Y tại vị trí tương ứng với một phần tử trong x
bar( ,width) hàm này giống các hàm trên nhưng có thêm đặc tính đặt độ rộng của cột.Giá trị mặc định của width là 0.8, Nếu width is 1, các cột trong một nhóm chạm vào
bar( ,'style') Xác định kiểu của cột
'style' là 'group' hoặc 'stack' 'group' là chế độ mặc định
'group' biểu diễn n nhóm của m cột thẳng đứng ,ở đó n là số hàng và m là số
cột trong Y
Trang 10'stack' Biểu diễn đồ thị cột cho mỗi hàng của Y Chiều cao của cột là tổng các phần tử trong một hàng
bar( ,LineSpec) displays all bars using the color specified by LineSpec
với các 'khoanh' được xác định bởi
dụ x=[ 1 2 3 4] phân thành 4
khoanh trên toàn bộ vòng tròn ,mỗi
khoanh tương ứng phần trăm các
phần tử trong x
Trang 11Trang 11
>>x=[ 1 2 3 4];
>>pie(x)
cho đồ thị như sau:
Đỉnh cao nhất ứng với phần tử đầu tiên của véc tor ,các phần tử tiếp theo được bố trí theo chiều ngược chiều kim đồng hồ
Nếu tổng các phần tử trong vec tor x <1 thì trên đồ thị bánh biểu diễn phần trăm chính là các phần tử đó
Ví dụ
>> x=[ 0.1 0.2 0.3 ] % tương ứng với 10% 20% 30%
>>pie(x);
Trang 12an1
4.1.1 Các qui định để định nghĩa một ma trận:
- Tên ma trận có thể gồm 31 ký tự Bắt đầu phải bằng chữ cái sau đó có thể lμ
số, chữ cái, các ký tự đặc biệt Tên đặt bên trái dấu bằng , bên phải dấu bằng
lμ các phần tử của ma trận
- Bao quanh các phần tử của ma trận bằng dấu ngoặc vuông
- Các phần tử trong ma trận đ−ợc cách nhau bởi ký tự trống hoặc dấu phẩy ( , )
- Kết thúc một hμng trong ma trận bởi dấu ( ; )
Trang 13Trang 2
- Nhập thông qua lệnh Dùng lệnh input
>> input('Nhap gia tri cho ma tran C = ')
Nhap gia tri cho ma tran C = [1 3 4;4 5 7;7 5 8]
- Trong cả 2 trường hợp trên sau khi câu lệnh được thực hiện kết quả đều
được lưu vμo trong bộ nhớ vμ có thể sử dụng cho các câu lệnh tiếp theo
Trang 14>> disp('hiÓn thÞ lêi th«ng b¸o nμy')
hiÓn thÞ lêi th«ng b¸o nμy
Chó ý:
- C¸c phÇn tö trong ma trËn cã thÓ lμ c¸c sè phøc:
VD >> a=[1+3i 2+2i;3+i 1+i]
a = 1.0000 + 3.0000i 2.0000 + 2.0000i 3.0000 + 1.0000i 1.0000 + 1.0000i
- C¸c phÇn tö trong ma trËn cã thÓ lμ c¸c ký tù Nh−ng tr−íc tiªn ta ph¶i khai b¸o c¸c phÇn tö b»ng lÖnh syms
VD >> syms sinx cosx a
>> b = [ sinx cosx; a cosx]
b =
[ sinx, cosx]
[ a, cosx]
Trang 15
C«ng thøc tæng qu¸t: BiÕn = giíi h¹n ®Çu : b−íc ch¹y : gíi h¹n cuèi
Giíi h¹n ®Çu, giíi h¹n cuèi, b−íc ch¹y: lμ c¸c sè thùc
Chó ý : Trong tr−êng hîp giíi h¹n trªn, gíi h¹n d−íi lμ c¸c sè nguyªn vμ b−íc ch¹y b»ng
1 th× ta kh«ng cÇn ®−a b−íc ch¹y vμo trong biÓu thøc
Trang 174.3.3 Ma trËn ma ph−¬ng Magic: Tæng tÊt c¶ gi¸ trÞ c¸c phÇn tö trªn hμng = Tæng tÊt c¶
gi¸ trÞ c¸c phÇn tö trªn cét = Tæng tÊt c¶ gi¸ trÞ c¸c phÇn tö trªn ®−êng chÐo cña ma trËn
Trang 21kj ik
C
Trang 23[ 2*a^2+2*b*a+c*a, 2*b*a+2*b^3, 2*c*a+2*c*b]
[ a^2+2*b*a+c*a, b*a+2*b^3, c*a+2*c*b]
[ a^2, 0, b*a]
Phép chia ma trận thực chất lμ phép nhân với ma trận nghịch đảo
Lấy ma trận nghịch đảo thực hiện bằng hμm inv
B
A B A
C= = *1
Trang 24Chú ý: Trong các phép tính trên nếu nếu thực hiện với một số thực thì tất cả các phần tử trong ma trận sẽ được cộng, trừ, nhân, chia ( / ) với số thực đó tuỳ thuộc vμo phép toán tương ứng