Thực hành Matlab cơ bản - Worksheet 4: Vẽ đồ thị trong Matlab

Mục đích:

Worksheet này giới thiệu về công việc vẽ đồ thị trong MATLAB.

Yêu cầu:

- Sinh viên thực hành bằng phần mềm Matlab trên phòng máy, đọc kỹ phần luyện tập

trước khi làm bài tập.

- Kết quả được lưu lại trong thư mục MSSV_HoTen

- Thời gian thực hành: 4 tiết.

pdf13 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 13524 | Lượt tải: 5download
Tóm tắt nội dung Thực hành Matlab cơ bản - Worksheet 4: Vẽ đồ thị trong Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
THỰC HÀNH MATLAB CƠ BẢN 
1 Thái Duy Quý – thaiduyquy@gmail.com 
WORKSHEET 4: VẼ ĐỒ THỊ TRONG MATLAB 
--Thái Duy Quý ITFac – thaiduyquy@gmail.com – 
Mục đích: 
Worksheet này giới thiệu về công việc vẽ đồ thị trong MATLAB. 
Yêu cầu: 
- Sinh viên thực hành bằng phần mềm Matlab trên phòng máy, đọc kỹ phần luyện tập 
trước khi làm bài tập. 
- Kết quả được lưu lại trong thư mục MSSV_HoTen 
- Thời gian thực hành: 4 tiết. 
Luyện tập: 
MATLAB có rất nhiều tùy chọn cho việc vẽ đồ thị. Lệnh quan trọng nhất là plot, lệnh này 
đã từng được làm việc trong worksheet 2. Ngoài ra còn có hai lệnh phụ thêm là fplot và ezplot 
từ Symbolic Toolbox. 
Ezplot 
Lệnh dễ vẽ đồ thị nhất là ezplot và nó có thể gọi ra từ Symbolic Toolbox. Trong dạng lệnh 
ezplot(f), nó sẽ vẽ biểu thức f =f(x) qua miền x mặc định (-2,2). Trong dạng lệnh ezplot(f, 
[a,b]), nó sẽ vẽ hàm f = f(x) với a < x < b. 
Ví dụ: Lệnh ezplot(’cos(x)’) sẽ vẽ như hình sau: 
THỰC HÀNH MATLAB CƠ BẢN 
2 Thái Duy Quý – thaiduyquy@gmail.com 
Ví dụ: Lệnh ezplot(’x^3-2*x+1’,[-2,2]) sẽ vẽ như hình sau: 
Ví dụ: Chúng ta có thể đặt nhiều lệnh vẽ trong một màn hình đồ thị bằng cách sử dụng lệnh 
hold ngay sau lệnh vẽ đồ thị thứ nhất và lệnh hold off sau lệnh cuối cùng. 
Ngay sau khi gõ các lệnh, một tập các đồ thị được vẽ trên một màn hình như hình sau: 
THỰC HÀNH MATLAB CƠ BẢN 
3 Thái Duy Quý – thaiduyquy@gmail.com 
fplot 
Một lệnh khác dễ dàng sử dụng để vẽ đồ thị đó là lệnh fplot. Trong dạng fplot(f,[a,b]), lệnh 
này sẽ vẽ biểu thức f = f(x) với a < x < b. Trong dạng fplot(f,[a,b,c,d]), nó sẽ vẽ biểu thức f = 
f(x) với a < x < b và các giá trị của f thuộc vùng (c,d). Trong dạng fplot([f,g,h,...],[a,b]), nó sẽ 
vẽ các hàm f,g,h, … trong một cửa sổ đồ thị với a < x < b. Dạng fplot([f,g,h,...],[a,b,c,d]), nó 
sẽ vẽ các hàm f,g,h,... trong một cửa sổ với a < x < b và các giá trị hàm thuộc (c,d). 
Ví dụ: Gõ fplot(’x^4-3*x^2-2*x’,[-2,2]) ta được: 
Và gõ fplot(’x^4-3*x^2-2*x’,[-2,2,-1,1]) ta được: 
THỰC HÀNH MATLAB CƠ BẢN 
4 Thái Duy Quý – thaiduyquy@gmail.com 
Ví dụ: Gõ fplot(’[cos(x),sin(x),sin(2*x)]’,[0.1,14]) ta nhận được: 
và gõ fplot(’[tan(x),sin(x),cos(x)]’,2*pi*[-1 1 -1 1]) ta nhận được: 
Cũng có thể lựa chọn các tính nhất như màu sắc, kiểu đường và ký tự vẽ với lệnh fplot. Tuy 
nhiên, ta sẽ thảo luận vấn đề này khi đề cập đến lệnh plot. 
THỰC HÀNH MATLAB CƠ BẢN 
5 Thái Duy Quý – thaiduyquy@gmail.com 
plot 
Lệnh plot trong MATLAB là lệnh được sử dụng nhiều trong các lệnh vẽ đồ thị. Với dạng 
plot(x,y) nó sẽ vẽ vector x ngang với vector y. Thông thường vector y là một hàm số của vector 
x, như ví dụ sau đây. 
Ví dụ: Để thực hiện vẽ hàm f(x) = sin(x2/2) trong 100 đoạn bằng nhau từ -1 đến 7, ta gõ 
như sau: 
và nhận được: 
Ví dụ: Lệnh x = linspace(-3,3,50); y=sin(x)-cos(2*x); và plot(x,y,’r’) sẽ nhận được: 
THỰC HÀNH MATLAB CƠ BẢN 
6 Thái Duy Quý – thaiduyquy@gmail.com 
Ký tự ’r’ thiết lập màu đỏ (red). Nếu ta gõ plot(x,y,’go’) chúng ta nhận được màu xanh (g - 
green) và ký tự vẽ là hình tròn. 
Lệnh plot đưa vào nhiều dạng tham số plot(x,y,s). Giá trị s ở đây là một chuỗi các ký tự 
nằm giữa hai dấu ngoặc đơn, biểu thị cho màu sắc, kiểu đường và ký tự hiễn thị. Các tùy chọn 
màu trong lệnh plot (hoặc fplot) là: 
b Blue 
g Green 
r Red 
c Cyan 
m Mangeta 
y Yellow 
k Black 
Và các tùy chọn kiểu đường vẽ: 
- Solid 
: Dotted 
-. Dashdot 
-- dashed 
Và tùy chọn kiểu ký tự hiễn thị: 
THỰC HÀNH MATLAB CƠ BẢN 
7 Thái Duy Quý – thaiduyquy@gmail.com 
. Point 
o Circle 
x x-mark 
+ plus 
* Star 
s Square 
d diamond 
Hầu hết các ký tự plot có thể được tìm thấy khi gõ lệnh help plot. 
Lệnh plot có thể sử dụng để thiết lập nhiều đồ thị với nhau. Biểu thức có dạng 
plot(x1,y2,s1,x2,y2,s2,x3,y3,s3,...) nối các đồ thị cạng cặp ba (x1,y1,s1), (x2,y2,s2), .... 
Ví dụ: Đồ thị của sinx – cos(2x) và sinx.cosx được vẽ trong đoạn (0,5) sử dụng 100 điểm. 
Hàm thứ nhất có màu xanh và ký tự hình tròn và hàm thứ hai có màu đen và kiểu đường 
chấm. 
THỰC HÀNH MATLAB CƠ BẢN 
8 Thái Duy Quý – thaiduyquy@gmail.com 
Bài tập 
Bài 1: 
 Vẽ các hàm sin(x), trong vùng (-1,2) sử dụng ezplot, fplot,và plot. Lưu ý rằng khi vẽ 
bạn ần định nghĩa một vector của các đoạn bằng nhau trong khoảng (-1, 2). Cho hiễn thị các 
đồ thị này trên một cửa sổ độc lập và cùng hiễn thị. 
 Sử dụng lệnh plot để vẽ đồ thị hàm sin(x) với x thuộc (0, 3). Đầu tiên sử dụng 20 điểm 
và màu đen, sau đó sử dụng 100 điểm và màu đỏ, kiểu đường là dashed. Cho hiễn thị đồ thị. 
 Gõ lệnh fplot(’[sin(x),x-x^3]’,[-2,2]) để vẽ đồ thị sin(x) và x - x3/2 trong vùng (-2,2) trên 
một cửa sổ. Sau đó gõ x = linspace(-2,2,100); y=sin(x); z=’x-(x.^3)./2’; plot(x,y,x,z) để có 
được các đồ thị trên một cửa sổ sử dụng lệnh plot. Hiễn thị các đồ thị này. 
 Vẽ đồ thị hàm số cos(x) và 1 - x2/2 on (-2,2) trên một đồ thị: đầu tiên sử dụng fplot, sau 
đó sử dụng lệnh plot. Hiễn thị các đồ thị này. 
 Gõ đoạn code sau và giải thích khi nó được vẽ trên đồ thị. 
x = 1:20 
y = 20:-1:1 
plot(x,y,‘+’) 
THỰC HÀNH MATLAB CƠ BẢN 
9 Thái Duy Quý – thaiduyquy@gmail.com 
 Gõ đoạn code sau và giải thích khi nó được vẽ trên đồ thị: 
x = 1:20; 
y = 20:-1:1; 
z=4*sqrt(x); 
plot(x,y,’ob’,x,z,’:g’) 
Bài 2: 
 Vẽ các hàm sin(x), sin(x – 1), sin(x – 2), sin(x – 3) trong cùng một cửa sổ đồ thị với x 
thuộc (-5, 5). Hiễn thị đồ thị này. Lặp lại điều này với các hàm sin(x), sin(x + 1), sin(x + 2), 
sin(x + 3). Hiễn thị các đồ thị này. Dựa trên hai đồ thị, xác định mối quan hệ giữa sin(x) và 
sin(x + a) là gì? 
 Vẽ các hàm sin(x), sin(x) + 1, sin(x) + 2, sin(x) + 3 trong cùng một cửa sổ đồ thị với x 
thuộc (-5, 5). Hiễn thị đồ thị này. Lặp lại điều này với các hàm sin(x), sin(x) - 1, sin(x) -2, 
sin(x) - 3. Hiễn thị các đồ thị này. Dựa trên hai đồ thị, xác định mối quan hệ giữa sin(x) và 
sin(x) + a là gì? 
 Vẽ các hàm 0.25sin(x), 0.5sin(x), sin(x), 2sin(x), 4sin(x) trong cùng một cửa sổ đồ thị 
với x thuộc (-2, 2). Dựa trên đồ thị này, xác định mối quan hệ giữa sin(x) và asin(x)? 
 Vẽ các hàm sin(0.5x), sin(x), sin(1.5x), sin(2x), sin(2.5x), sin(3x) trong cùng một cửa sổ 
đồ thị với x thuộc (-2, 2). Hiễn thị đồ thị. Dựa trên đồ thị này, xác định mối quan hệ giữa 
sin(x) và sin(ax)? 
Bài 3: 
Định nghĩa hàm 
2
2( ) 1
xf x
x


trong đoạn (-10,10). 
 Vẽ đồ thị trên một cửa sổ tất cả các hàm có dạng f(x – a) với a = 0,1,2,3,4,5. (Gợi ý: có 
thể sử dụng: 
x = linspace(-10,10,200); f= ‘(x.^2)./(x.^2 + 1)’, plot(x,y,x-1,y,x-2,y,x-3,y,x-4,y,x-5,y). Nghĩ 
xem tại sao điều này có thể thực hiện được. Lưu ý rằng có một sự khác biệt nhỏ trong khi 
vẽ đồ thị vùng (-15, 10) thay vì (-10,10) ). 
 Vẽ trên cùng một cửa sổ các hàm f (x + a), với x thuộc (-10, 10), cho a = 0,1,2,3,4,5. 
Hiễn thị các đồ thị này. 
THỰC HÀNH MATLAB CƠ BẢN 
10 Thái Duy Quý – thaiduyquy@gmail.com 
 Vẽ trên cùng một cửa sổ các hàm f (x) + a, với x thuộc (-10, 10), cho a = 0,1,2,3,4,5. 
Hiễn thị các đồ thị này. 
 Vẽ trên cùng một cửa sổ các hàm af (x), với x thuộc (-10, 10), cho a = 0,1,2,3,4,5. Hiễn 
thị các đồ thị này. 
 Vẽ trên cùng một cửa sổ các hàm f (ax), với x thuộc (-10, 10), cho a = 0,1,2,3,4,5. Hiễn 
thị các đồ thị này. 
Bài 3: 
 Vẽ đồ thị hàm số x, x3, ex và e^(x2) với 0 < x < 4 
 Vẽ đồ thị hàm số f(x) = sin(1/x) với 0.01 < x < 0.1. 
 Vẽ hai hàm 2y x và s n3xy i trên cùng một đồ thị, ghi chú thích 
 Vẽ hàm số 3 3 1y x x   sử dụng hàm plot và fplot 
Phụ lục: Đồ thị 2D trong Matlab 
Matlab cung cấp các lệnh giúp vẽ hầu hết các đồ thị 2D phổ biến 
nhất như: plot, bar, errorbar, … với thao tác lệnh rất đơn giản và 
mạnh mẽ. 
Bên cạnh việc dùng lệnh ta cũng có thể sử dụng các nút công cụ 
để dựng hình tuy nhiên ở bài này tôi chỉ đề cập tới các lệnh, việc sử 
dụng công cụ sẽ giới thiệu ở bài sau. 
Sau đây chúng ta đi vào tìm hiểu 7 loại đồ thị cơ bản nhất. 
1. Lệnh Plot vẽ đồ thị đường 
Cấu trúc: 
 plot(x,y) % vẽ đường y(x) với x là tên biến, y là tên hàm. 
 plot(y) % ngầm hiểu là vẽ đường y(x). 
Nếu y là hàm phức thì: 
 plot(real(y),imag(y)) % real(y) là phần thực, imag(y) là phần ảo. 
THỰC HÀNH MATLAB CƠ BẢN 
11 Thái Duy Quý – thaiduyquy@gmail.com 
Ví dụ: 
>>x=linspace(1,10,100); % lấy 100 điểm trong khoảng (1,10) 
>>y=sin(x); 
>> plot(x,y) 
2. Lệnh Bar vẽ đồ thị dạng cột 
>>x=-10:0.2:10; % lấy các giá trị từ -10 đến 10 cách nhau 0,2 đơn vị. 
>>y=-x.*x; % hàm y = -x2 có thể gõ y=-x.^2 ; chú ý có dấu chấm. 
>>bar(x,y) 
3. Lệnh Stairs vẽ đường bậc thang 
>>x=0:0.25:10; 
>>stairs(x,sin(x)) 
THỰC HÀNH MATLAB CƠ BẢN 
12 Thái Duy Quý – thaiduyquy@gmail.com 
4. Lệnh Errorbar vẽ đồ thị sai số 
>>x=-5:0.1:5; 
>>y=erf(x); 
>>e=rand(size(x))/20; 
>>errorbar(x,y,e) 
5. Lệnh Polar vẽ tọa độ cực 
>>x=0:0.1:2*pi; 
>>polar(x,abs(sin(2*x).*cos(2*x))) 
THỰC HÀNH MATLAB CƠ BẢN 
13 Thái Duy Quý – thaiduyquy@gmail.com 
6. Lệnh Stem vẽ đồ thị dạng cây 
>>x=0:0.2:10; 
>>y=sin(x.^2).*exp(-x); % chú ý dấu chấm 
>>stem(x,y) 
7. Lệnh Pie vẽ đồ thị dạng bánh 
>>x=[20 47 15 13 5]; 
>>y=[0 0 0 1 0] % 1 để nhấn mạnh phần 13, chọn 0 để chúng dính liền nhau. 
>>pie(x,y) 
-- Hết -- 

File đính kèm:

  • pdfThực hành Matlab cơ bản - Worksheet 4_Vẽ đồ thị trong Matlab.pdf