Tải bản đầy đủ (.doc) (46 trang)

Hướng dẫn vẽ đồ thị Toán học bằng Matlab

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.9 MB, 46 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

BẢN BÁO CÁO
VẼ ĐỒ THỊ TRONG MATLAB
Nhóm 8 - 14ST

Gvhd: Phạm Quý Mười
Danh sách thành viên nhóm:
Nguyễn Khánh My
Ngô Thị Ánh Ly
Võ Thị Hường
Ngô Thị Thúy Thương
Huỳnh Thị Kim Thủy


BẢNG PHÂN CÔNG NHIỆM VỤ
STT

Họ và tên

Nhiệm vụ

1

Nguyễn Khánh My

Hàm plot

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

4

Võ Thị Hường

Hàm plot3 và ezplot 3

5

Ngô Thị Thúy Thương

Hàm ezsurf


Mụ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


A.VẼ ĐỒ THỊ TRONG
KHÔNG GIAN 2 CHIỀU
I. Hàm plot:
-Dùng để vẽ đồ thị hàm số trong không gian 2 chiều bằng cách nối các điểm có
toạ độ được ta chủ động chia.
-Cách vẽ
*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%
*plot(…)
-Cú pháp
1. plot(Y)
a/Y là hàm số theo biến x
plot(y) vẽ đồ thị hàm số y=f(x)
4
Ví dụ 1: Vẽ đồ thị hàm số: y cos x

Ta được đồ thị như sau:

Trang 1



Ví dụ 2: Vẽ đồ thị hàm phức y (0,1  0,9i ) u

Ta được đồ thị như sau:

b/Y là một ma trận
Trang 2


plot(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).
Trường hợp Y là ma trận số thực:
Toạ độ yo : nhận từng giá trị của phần tử ma trận trên cột i đang xét
Toạ độ xo : nhận giá trị vị trí hàng của phần tử đó
Ví dụ:

1 2 3
y 1 5 9
 2 5 8

Ta được đồ thị như sau:

Trường hợp Y là ma trận số phức:
toạ độ xo : nhận từng giá trị thực của phần tử ma trận trên cột i đang xét.
toạ độ yo : nhận từng giá trị phức của phần tử đó.
Trang 3


Ví dụ:


1  2i 3  i 
y 

5  4i 6  2i 

Ta được đồ thị như sau:

2. plot(x,y)
Vẽ đồ thị hàm y(x) với x là tên biến, y tên hàm.
Ví dụ: vẽ đồ thị hàm số: f ( x) x 4  2 x 3  3

Trang 4


Lư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ố:
y  x 3  6  i ( x 2  1)

Ở 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  x 3

Trang 5


Do đó 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 6


3. plot(X1,Y1,LineSpec,...,Xn,Yn,LineSpec)
Dùng cú pháp này để tùy chỉnh kiểu đường, đánh dấu, màu sắc của đồ thị tạo ra
LineSpec bao gồm 3 thành phần:
* Linestyle (nét vẽ)
‘-’
——
‘- -’

-------

‘:’

.........

‘-.’

-.-.-.-.-.

*Marker (kí hiệu đánh dấu)
+

+
Trang 7



O
X
.
*
S
D
P
H
<
>
V
^

ĐƯỜNG TRÒN
X-MARK
DẤU CHẤM
DẤU SAO
HÌNH VUÔNG
KIM CƯƠNG
SAO 5 CÁNH
SAO 6 CÁNH
TAM GIÁC TRÁI
TAM GIÁC PHẢI
TAM GIÁC NGƯỢC
TAM GIÁC

*Color (màu sắc)
R
K

W
Y
C
B
G
M

MÀU ĐỎ(RED)
MÀU ĐEN (BLACK)
MÀU TRẮNG (WHITE)
MÀU VÀNG (YELLOW)
MÀU LƠ (CYAN)
MÀU LAM (BLUE)
MÀU LỤC (GREEN)
ĐỎ TƯƠI (MAGENTA)
y

x3  2 x
x 2 1

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:

Trang 8


4. 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 ‘’
x3  2x
Ví dụ: Vẽ đồ thị hàm số : y  2
x 1
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
>> syms x y;
>> x=[1:1:10];
Trang 9


>> y=(x.^3-2*x)./(x.^2+1);
>>plot(x,y,':or','linewidth',5,'markeredgecolor','b','markerfacecolor','y','marke
rsize',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
10



Lệnh subplot:
1. Công dụng:
Tạo các trục trong một phần của cửa sổ đồ họa.
2. Cú pháp:
subplot(m,n,p)
subplot (mnp)
3. Giải thích:
subplot(m,n,p) hoặc subplot(mnp) chia cửa sổ thành m x n vùng để vẽ
nhiều đồ thị trong cùng một cửa sổ.
m : số hàng được chia
n : số cột được chia
p: số thứ tự vùng chọn để vẽ đồ thị ( p < m x n )
Các đồ thị thành phần được đánh số từ trái qua phải, trên xuống dưới, sau đó
đến hàng thứ hai
4. Ví dụ :
Ví dụ 1: Chia cửa sổ đồ họa thành 2 x 3 vùng và hiển thị cả 6 vùng.
subplot(231)
subplot(232)
subplot(233)
subplot(234)
subplot(235)
subplot(236)

Trang
11


Ví dụ 2:


Trang
12


Một số hàm tương tự plot cho thang chia logarit:
1. Công dụng:
Vẽ đồ thị theo logarit.
2. Cú pháp:
semilogx(x,y)
semilogx(x,y,’linetype’)
semilogy(x,y)
semilogy(x,y,’linetype’)
loglog(x,y)
loglog(x,y,’linetype’)
3. Giải thích:
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
13


loglog(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



x  1,10 4




Trang
14


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
15


II. Hàm fplot:
Dùng để vẽ đồ thị hàm một biến với độ chia thông minh do matlab tự mặc
định.
-Cú pháp:
fplot(fun,limits)
fplot(fun,limits,LineSpec)
fplot(fun,limits,tol)
fplot(fun,limits,tol,LineSpec)
fplot(fun,limits,n)
1. fplot(fun,limits)
fun: đặt trong dấu nháy, có thể là một hàm hay nhiều hàm
nếu là một hàm: ‘fun’
nếu nhiều hàm: ‘[fun1,fun2,..,funn]’
limits: giới hạn của x hoặc của f(x)
[a b]: giới hạn a

[a b c d]: giới hạn a*Ví dụ:
Ví dụ 1: Vẽ đồ thị hàm số: y  x 4  3x 2  2 x
Với -2
Trang
16


Ví dụ 2: Vẽ đồ thị hàm số:
Với -2
y x 4  3x 2  2 x

Trang
17


 f ( x) cos( x)

 h( x)  x  2 x   0,2
Ví dụ 3: Vẽ đồ thị các hàm số:  g ( x) sin(2 x)


Trang
18


2.fplot(fun,limits,LineSpec)
Tươ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
3.fplot(fun,limits,tol)
tol: là phạm vi cho phép sai lệch với đồ thị chuẩn, trường hợp mặc định là
0,2%, tức là số các marker =  1   1
 tol 

Trang
19


Ví dụ:
>>fplot('x.^3+1',[1:10],0.002,'-o')
Số các điểm marker là:

 1 
 0,002   1 501



4.fplot(fun,limits,n)
n: với n>= 1 đồ thị hàm số sẽ chia thành tối thiểu n+1 điểm
Giá trị mặc định là n=1.
x min x max
Với độ dài bước lớn nhất là :
n
Ví dụ:
Ví dụ 1: vẽ đồ thị hàm số : y x 3 với x  [1,10]
Ví dụ 2: vẽ đồ thị hàm số : y x 3 , x  [1,10] với tối thiểu 151 điểm chia
Trang
20



Ví dụ 1:
>> fplot('x.^3',[1 10],'-o')

Ví dụ 2:
>> fplot('x.^3',[1 10],150,'-o')

Trang
21


III/ Hàm ezplot
Dùng để vẽ đồ thị biểu diễn hàm số một cách mịn nhất trên một miền xác định .
Cú pháp :
ezplot(fun)
ezplot(fun,[xmin,xmax])
ezplot(fun2)
ezplot(fun2,[xymin,xymax])
ezplot(fun2,[xmin,xmax,ymin,ymax])
ezplot(funx,funy)
ezplot(funx,funy,[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.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
22



×