Tài liệu giúp hướng dẫn vẽ đồ thị Toán học 2D, 3D bằng Matlab. Giới thiệu tất cả các hàm đồ thị hiện có của Matlab. Hướng dẫn cụ thể những lỗi và sai lầm khi sử dụng ứng dụng
Trang 1ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC SƯ PHẠM
Võ Thị Hường Ngô Thị Thúy Thương Huỳnh Thị Kim Thủy
Trang 2BẢNG PHÂN CÔNG NHIỆM VỤ
2 Ngô Thị Ánh Ly Lệnh subplot,đồ thị chia theo log
Và hàm fplot
3 Huỳnh Thị Kim Thủy Hàm ezplot
5 Ngô Thị Thúy Thương Hàm ezsurf
Trang 3Mục lục
A.VẼ ĐỒ THỊ TRONG KHÔNG GIAN 2 CHIỀU 1
I Hàm plot: 1
1 plot(Y) 1
2 plot(x,y) 4
3 plot(X1,Y1,LineSpec, ,Xn,Yn,LineSpec) 7
4 plot( ,'PropertyName',PropertyValue, ) 9
Lệnh subplot: 11
Một số hàm tương tự plot cho thang chia logarit: 13
II Hàm fplot: 15
1 fplot(fun,limits) 15
2.fplot(fun,limits,LineSpec) 18
3.fplot(fun,limits,tol) 18
4.fplot(fun,limits,n) 19
III Hàm ezplot 21
1.ezplot(fun): 21
2 ezplot(fun,[xmin,xmax]) 21
3 ezplot(fun2) 22
Lệnh chia tọa độ: 22
4.ezplot(fun2,[xymin,xymax]) ezplot(fun2,[xmin,xmax,ymin,ymax]) 23
Lệnh hold on 24
5.ezplot(funx,funy) ezplot(funx,funy,[tmin,tmax]) 26
**Một số lỗi khi dùng lệnh ezplot: 27
B.VẼ ĐỒ THỊ TRONG KHÔNG GIAN 3 CHIỀU 28
IV Hàm plot3 28
Chú thích trên đồ thị: 29
Tạo lưới tọa độ 30
V Hàm ezplot3 32
1 ezplot3(funx,funy,funz) 33
2 ezplot3(funx,funy,funz,[tmin,tmax]) 33
VI Hàm ezsurf 35
1.ezsurf(fun) 35
2.ezsurf(fun,[xymin,xymax]) ezsurf(fun,[xmin,xmax,ymin,ymax]) 36
3.ezsurf(funx,funy,funz) 37
4.ezsurf(funx,funy,funz,[smin,smax,tmin,tmax]) Hoặc ezsurf(funx,funy,funz,[min,max]) 38 Lệnh view 39
Xoá đồ thị 40
Trang 4*Khai báo biến
syms biến hàm; % bước này ta có thể không cần khai báo hàm%
*Chia miền giá trị
Biến=[gt đầu: bước: gt cuối];
Hoặc Biến= linspace(gt đầu, gt cuối,số điểm cần chia);
*Định nghĩa hàm %bước này ta có thể bỏ qua vì có thể định nghĩa hàm trực tiếp trong cú pháp của plot%
Trang 5Ví dụ 2: Vẽ đồ thị hàm phức y(0,10,9i)u
Ta được đồ thị như sau:
Trang 6plot(y) vẽ đồ thị gồm k đường ứng với k cột của ma trận Y Trong đó, mỗi đường thứ i, với 1 i k được vẽ bằng cách nối các điểm có toạ độ (xo,yo).
9 5 1
3 2 1
y
Trang 7i i
y
2 6 4 5
3 2 1
3 2 )
(x x4 x3
f
Trang 8Lưu ý:
Trong trường hợp y là hàm phức thì không thể dùng plot(x,y) mà phải dùng lệnh plot(y) hoặc plot(real(y),imag(y)) với real(y) là phần thực của y, imag(y) làphần ảo của y thay thế
Ví dụ: Vẽ đồ thị hàm số:
Ở ví dụ này nếu ta dùng lệnh plot(x,y) thì matlab mặc định bỏ đi phần phức của các giá trị, từ đó đồ thị matlab vẽ là y x3
) 1 (
6 2
3
x i x y
Trang 9Do đó ta phải dùng lệnh plot(y) hay lệnh plot(real(y),imag(y)), lúc đó sẽ cho ra cùng một đồ thị
Ta được cùng một đồ thị như sau:
Trang 11M ĐỎ TƯƠI (MAGENTA)
Ví dụ: Vẽ đồ thị hàm số :
Với nét vẽ ’ ’, đánh dấu bằng đường tròn, màu đỏ
Ta được đồ thị như sau:
1
2
2 3
Trang 124 plot( ,'PropertyName',PropertyValue, )
Dùng cú pháp này dùng để tùy chỉnh độ rộng nét vẽ, các thuộc tính của kí hiệu đánh dấu đồ thị tạo ra
Các PropertyName bao gồm
Linewidth: độ rộng của nét vẽ,tính bằng pt, trường hợp mặc định 0.5 pt
MarkerEdgecolor: màu đường viền của marker
MarkerFacecolor: màu bên trong của marker
Markersize: độ lớn của marker ,tính bằng pt, trường hợp mặc định 6pt
Lưu ý: với các giá trị thuộc tính là số thì không đặt trong dấu ‘’, với các thuộc
tính là chữ thì phải đặt trong dấu ‘’
Ví dụ: Vẽ đồ thị hàm số :
Với nét vẽ ‘ ’, đánh dấu đường tròn , màu đỏ
độ rộng của nét vẽ 5 pt, màu đường viền của marker xanh, màu bên trong của marker vàng, độ lớn của marker 10 pt
Trang 13>> y=(x.^3-2*x)./(x.^2+1);
>>plot(x,y,':or','linewidth',5,'markeredgecolor','b','markerfacecolor','y','markersize',10);
Ta được đồ thị sau:
Ngoài ra ta hoàn toàn có thể tuỳ chỉnh các thuộc tính của nét vẽ, màu sắc, đánh dấu trực tiếp trên cửa sổ figure bằng hộp thoại Property editor
Trang 15Ví dụ 2:
Trang 16M t s hàm t ộ ố ươ ng t plot cho thang chia logarit: ự
semilogx(x,y): Vẽ đồ thị hàm số y=f(x) với trục x theo thang chia log
semilogy(x,y): Vẽ đồ thị hàm số y=f(x) với trục y theo thang chia log
Trang 17loglog(x,y): Vẽ đồ thị hàm số y=f(x) với trục x và y theo thang chia log
**Các lệnh semilogx(x,y) ,semilogy(x,y), loglog(x,y) giống lệnh plot nhưng chỉkhác ở thang chia độ, do đó ta có thể sư dụng tất cả các linetype như plot
4 Ví dụ:
Vẽ đồ thi hàm số y 10 x với x1 , 10 4
Trang 18
Ngoài ra, ta có dùng hàm plot để vẽ rồi sau đó chỉnh trực tiếp trên đồ thị bằng cách: trong figure chọn View / Property Editor / kích vào trục tọa độ / X Axis /
X Scale / log
Trang 19nếu nhiều hàm: ‘[fun1,fun2, ,funn]’
limits: giới hạn của x hoặc của f(x)
Trang 20Ví dụ 2: Vẽ đồ thị hàm số:
Với -2<x<2 và -1<f(x)<1
x x x
y 4 3 2 2
Trang 21Ví dụ 3: Vẽ đồ thị các hàm số: 0 , 2
) 2 sin(
) (
2 )
(
) cos(
) (
g
x x h
x x
f
Trang 22Tương tự như plot, hàm fplot cũng vẽ đồ thị bằng cách nối các điểm chia do
đó cú pháp này dùng để tuỳ chỉnh kiểu đường, màu sắc, đánh dấu như plot
Trang 24Ví dụ 1:
>> fplot('x.^3',[1 10],'-o')
Ví dụ 2:
>> fplot('x.^3',[1 10],150,'-o')
Trang 25*Lưu ý : -Nếu không khai báo biến thì định nghĩa hàm đưa vào dấu nháy
-Nếu khai báo biến rôi thì định nghĩa hàm không cần đưa vào dấu nháy
1.ezplot(fun):
Trong cú pháp này ta chưa xác định miền xác định của x nên matlab tự mặc định miền xác định của x: -2π < x < 2π
Trang 26Cú pháp này fun2 là hàm với hai biến x y, tức f(x,y)=0 và miền xác định của x
và y được matlab mặc định -2π < x < 2π , -2π<y<2π
Trang 27Ví dụ: vẽ đồ thị hàm số sau với x thuộc [-2π; 2π] y thuộc [-2π ; 2π ]:
>> ezplot('(x.^2+y.^2-1).^3-x.^2*y.^3')
Cú pháp
axis([xmin xmax ymin ymax])
axis([xmin xmax ymin ymax zmin zmax cmin cmax])
Chia lại trục toạ độ
axis off: không hiển thị trục toạ độ
axis on: hiển thị lại trục toạ độ
Ví dụ:
Trang 29L nh hold on ệ
hold on: giữ lại đồ thị đã vẽ trước đó
hold off: tắt chế độ này
Áp dụng lệnh hold on và axis: Vẽ đồ thị hàm số
Trang 30*Chúng ta có thể thêm họa tiết trong hình đã vẽ bằng cách: Insert>>textbox: viết các dòng chữ vào.
Ví dụ: Viết “I LOVE MATLAB” vào giữa hình trái tim
Insert>>textbox “I LOVE MATLAB”
Trang 32
-Không chú ý đến các biến đã khai báo trước đó,trong khi các biến đã gắn giá trị trước,khi chạy thì máy tính sẽ báo lỗi
Vì vậy phải xóa hết các biến rồi khai báo lại
-Không khai báo biến nhưng không đưa định nghĩa hàm vào trong dấu nháy
Nếu không khai báo biến phải đưa định nghĩa hàm vào trong dấu nháy
>>ezplot(‘x+y’);
Trang 33B.VẼ Đ TH TRONG Ồ Ị
IV.Hàm plot3
Vẽ đồ thị hàm 1 biến trong không gian 3 chiều
- Cách vẽ: tương tự như plot
*Khai báo biến
syms biến hàm1 hàm 2 hàm 3;
*Chia miền giá trị
biến=[gt đầu: bước: gt cuối];
Hoặc linspace(gt đầu, gt cuối,số điểm cần chia);
Trang 34Ví dụ 1: Vẽ đường cong tham số: với t
Ví dụ này giúp làm quen với cách vẽ đồ thị hàm số trong không gian 3 chiều.
>> syms t x y z; %Khai bao bien
>> t=linspace(0,10*pi,100); %Chia mien gia tri cua bien t
>> x=exp(-0.05*t).*sin(t); %Dinh nghia ham x
>> y= exp(-0.05*t).*cos(t); %Dinh nghia ham y
>> z=t; %Dinh nghia ham z
>> plot3(x,y,z); %Lenh
Matlab sẽ vẽ đồ thị đã cho trong không gian 3 chiều như hình dưới đây:
0 , 10
Trang 35a.Công dụng: Dòng ghi chú được đưa vào đồ thị nhờ hàm legend.Trong legend
thì màu và kiểu của mỗi loại đường phù hợp với các đường đó trên đồ thị.b.Cú pháp: legend(‘tên hàm 1’, ‘tên hàm 2’, ,’tên hàm n’)
3 Các lệnh xlabel, ylabel, zlabel
a.Công dụng: Đặt tên cho trục X,Y,Z
grid on: hiển thị lưới tọa độ
grid off: không hiển thị lưới tọa độ
Ví dụ: vẽ đồ thị hàm số: với t thuộc
a Đồ thị nét đứt, maker ‘ o’, color ‘đỏ’
b Đặt tên tiêu đề : ‘ vi du ham plot3 ’
c Chú thích: ‘ ham xyz ’
d Đặt tên cho trục x y z lần lượt là : x y z
e Tạo lưới tọa độ
Ví dụ giúp làm quen với các lệnh chú thích trên đồ thị và tạo lưới tọa độ sử dụng lênh plot3(X1,Y1,Z1,LineSpec, ) để vẽ hình.
) 4 cos(
) 3 sin(
t z
t y
t x
0 , 2
Trang 36Với cách bấm trên matlab:
Ta được đồ thị đã cho như sau:
t y
t x
1
1
) cos(
2 1
) sin(
2 1
)sin(
)cos(
2 2 2
t z
t y
t x
4,4
Trang 37Ví dụ thêm về hàm plot3 cho 2 hàm số trong không gian 3 chiều
Cách vẽ trong matlab như sau:
Ta được đồ thị dưới đây:
Trang 38Vẽ đồ thị hàm số 1 biến trong không gian 3 chiều
- Cú pháp:
ezplot3(funx,funy,funz)
ezplot3(funx,funy,funz,[tmin,tmax])
Lưu ý: Nếu không khai báo biến thì định nghĩa hàm đưa vào dấu nháy.
Nếu khai báo biến rồi thì định nghĩa hàm không cần đưa vào dấu nháy
1 ezplot3(funx,funy,funz)
• Cú pháp này vẽ đồ thị của 3 hàm funx(t) ; funy(t) và funz(t) với miền xácđịnh của t được matlab mặc định 0 < t < 2π
Ví dụ: Vẽ đồ thị hàm số x=sin(t), y=cos(t), z=t
ezplot3 các thao tác vẽ nhanh hơn plot3, ví dụ giúp làm quen với cách vẽ.
Cách vẽ trên matlab: %Các hàm được đưa vào dấu nháy mà không cần khai báo biến và miền xác định của biến t được matlab mặc định từ 0<t<2π
Trang 39Cách vẽ trên matlab: %Ví dụ này giúp thấy được sự khác nhau của cùng một hàm số với miền giá trị đã cho
) sin(
) cos(
t z
t y
t x
Trang 40sin(
) ,
(
y x
y x y
Trang 42) sin(
) cos(
) sin(
2
t s
z
t s
y
t s
x
Trang 43] 1 , 0 [
s t
) sin(
) cos(
) sin(
2
t s
z
s t
y
t s x
Trang 45Lưu ý:
• MATLAB cho phép chuyển đồ thị qua World
• Cách làm:
Từ cửa sổ <Figure> > <Edit> > <Copy Figure>
Sau đó cửa trở lại cửa sổ mà ta muốnchèn và <paste> nó vào một nơi ta mong muốn
Xoá đ th ồ ị
Cú pháp:
Trang 46Close: xoá figure
HẾT