Giáo trình MATLAB cơ bản - Chương 2: Sử dụng Symbolic Math Toolbox

Động lực tính toán nằm dưới các toolbox là nhân Maple,một hệ thống tính toán được

phát triển đầu tiên ở trường đại học Waterloo,Canada và sau đó tại Eidgenroessiche Technische

Hochschule Zurich,Thuỵ sĩ.Maple được thương mại hoá và hỗ trợ của công ty Waterloo Maple.

Đ2. Khởi động toolbox

1. Các đối tượng chữ:Trong phần này chúng ta sẽ xem xét cách tạo và dùng các đối tượng

chữ.Chúng ta cũng sẽ xem xét các biến chữ mặc định.Symbolic Math Toolbox định nghĩa một

kiểu dữ liệu MATLAB mới gọi là đối tượng chữ hay sym.Bên trong,một đối tượng chữ là một

cấu trúc số liệu mà nó lưu biểu diễn chuỗi các kí tự.Symbolic Math Toolbox dùng các đối

tượng chữ để biểu diễn các biến chữ,các biểu thức chữ,các ma trận chữ

 

pdf42 trang | Chuyên mục: MATLAB | Chia sẻ: yen2110 | Lượt xem: 698 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình MATLAB cơ bản - Chương 2: Sử dụng Symbolic Math Toolbox, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 u v x y 
syms u v x y 
S = solve(x+2*yu, 4*x+5*yv); 
sol = [S.x;S.y] 
và: 
A = [1 2; 4 5]; 
b = [u; v]; 
z = A\b 
cho: 
sol = 
[ -5/3*u+2/3*v] 
[ 4/3*u-1/3*v] 
z = 
[-5/3*u+2/3*v] 
[ 4/3*u-1/3*v] 
Nh− vậy ta có cùng một nghiệm cho dù ph−ơng pháp giải khác nhau. 
3. Giải ph−ơng trình vi phân:Hàm dsolve tính nghiệm bằng chữ của ph−ơng trình vi phân 
th−ờng.Các ph−ơng trình đ−ợc mô tả bằng các biểu thức chữ chứa các chữ cái D đẻ chỉ các đạo 
hàm.Kí hiệu D2,D3,. . ,Dn t−ơng ứng với đạo hàm cấp 1,cấp 2,..,cấp n.Nh− vậy D2y trong 
62
Symbolic Math Toolbox là 
2
2
dx
yd
. Biến phụ thuộc là biến đ−ợc xử lí bởi D và biến độc lập mặc 
định là t.Nh− vậy tên các biến kí tự không đ−ợc có D.Có thể dùng biến đọc lập khác bằng cách 
chỉ ra nó nh− là thông số cuối cùng trong lệnh dsolve.Điều kiện đầu có thể mô tả nh− là một 
ph−ơng trình phụ.Nếu điều kiện đầu không có,nghiệm sẽ chứa các hằng số tích phân C1,C2 
v.v.Cú pháp của dsolve đ−ợc mô tả trong bảng sau: 
Cú pháp Phạm vi 
y = dsolve(‘Dyt = y0*y’) Một ph−ơng trình ,một nghiệm 
[u,v] = dsolve('Du = v', 'Dv = u') Hai ph−ơng trình,hai nghiệm 
S = dsolve('Df=g','Dg=h','Dh=–f') 
S.f, S.g, S.h 
Ba ph−ơng trình,ra là cấu trúc 
Nghiệm 
1. Ví dụ 1:Ta dùng lệnh: 
dsolve('Dy=1+y^2') 
và có kết quả: 
ans = 
tan(t-C1) 
Để mô ta điều kiện đầu,ta dùng: 
y = dsolve('Dy=1+y^2','y(0)=1') 
và có: 
y = 
tan(t+1/4*pi) 
Chú ý là y ở trong vùng làm việc của MATLAB nh−ng biến độc lập t thì không.Nh− vậy lệnh 
diff(y,t) gây ra lỗi.Để đặt t vào vùng làm việc của MATLAB phải dùng syms t 
2. Ví dụ 2:Các ph−ơng trình phi tuyến có thể có nhiều nghiệm,thậm chí ngay cả khi đã cho điều 
kiện đầu. 
x = dsolve('(Dx)^2+x^2=1','x(0)=0') 
cho kết quả: 
x = 
[-sin(t)] 
[ sin(t)] 
3. Ví dụ 3:Đây là một ph−ơng trình bậc 2 với 2 điều kiện đầu.lệnh: 
y = simplify(dsolve('D2y=cos(2*x)y','y(0)=1','Dy(0)=0', 'x')) 
tạo ra: 
y = 
-2/3*cos(x)^2+1/3+4/3*cos(x) 
Để giải ph−ơng trình : 
π=′′=′=
=
)0(u,1)0(u,1)0(u
u
dx
ud
3
3
ta dùng các lệnh sau: 
u = dsolve('D3u=u','u(0)=1','Du(0)=1','D2u(0) = pi','x') 
4. Hệ ph−ơng trình vi phân:Hàm dsolve có thể xử lí hệ ph−ơng trình vi phân.có hay không có 
điều kiện đầu.Ví dụ ta có hệ ph−ơng trình: 
63
 y’=3f + 4g 
 g’ = -4f + 3g 
Để giải hệ ta dùng lệnh: 
S = dsolve('Df = 3*f+4*g', 'Dg = 4*f+3*g') 
Nghiệm đ−ợc tính và trả về d−ới dạng cấu trúc S: 
S = 
 f: [1x1 sym] 
 g: [1x1 sym] 
Ta có thể xác định giá trị của f và g bằng lệnh: 
f = S.f 
f = 
 exp(3*t)*(cos(4*t)*C1+sin(4*t)*C2) 
g = S.g 
g = 
 -exp(3*t)*(sin(4*t)*C1-cos(4*t)*C2) 
Nếu ta cho cả điều kiện đầu thì viết: 
[f,g] = dsolve('Df=3*f+4*g, Dg =4*f+3*g', 'f(0) = 0, g(0) = 1') 
f = 
exp(3*t)*sin(4*t) 
g = 
exp(3*t)*cos(4*t) 
Bảng sau mô tả một vài ví dụ và cú pháp của Symbolic Math Toolbox. 
64
Ph−ơng trình vi phân Lệnh MATLAB 
1)0(y
e)t(y4
dt
dy t
=
=+ − 
y = dsolve('Dy+4*y = exp(-t)','y(0) = 1') 
0)(y,0)0(y
e)x(y4
dx
yd x2
2
2
=π=
=+ − 
y = dsolve('D2y+4*y = exp(-2*x)', 'y(0)=0', 'y(pi) = 
0', 'x') 
)32(K
1
)3(y,0)0(y
)x(xy
dx
yd
3
1
2
2
π==
=
(ph−ơng trình Airy) 
y = dsolve('D2y = x*y','y(0) = 0', 
'y(3) = besselk(1/3, 2*sqrt(3))/pi', 
'x') 
Đ7. Biến đổi tích phân 
1. Biến đổi Fourier và Fourier ng−ợc: 
 a. Biến đổi Fourier:Biến đổi Fourier dùng đê biến dổi ph−ơng trình vi phân thành 
ph−ơng trình đại số.Cú pháp: 
F = fourier(f) 
 F = fourier(f,v) 
 F = fourier(f,v,u) 
F = fourier(f) là dạng biến đổi Fourier của biến kí tự vô h−ớng f với biến độc lập mặc 
định là x.Kết quả trả về mặc định là hàm theo w.Biến đổi Fourier thực hiện trên hàm của x và 
trả về hàm của w: 
 f = f(x) ⇒ F = F(w) 
Nếu f = f(t) thì biến đổi trả về F = F(t).Hàm F(w) đ−ợc định nghĩa: 
∫
∞
∞−
−= dxe)x(f)w(F iwx 
F = fourier(f,v) làm cho F là hàm của v thay vì của w.Trong đó: 
∫
∞
∞−
−= dxe)x(f)v(F ivx 
F = fourier(f,v,u) làm cho f là hàm của u và F là hàm của v thay cho biến mặc định x và 
w: 
∫
∞
∞−
−= due)u(f)v(F ivu 
Ta có thể xem các biến đổi Fourier trong bảng sau: 
65
Biến đổi Fourier Lệnh MATLAB 
2xe)x(f −= 
∫
∞
∞−
−− π== 4/wiwx 2edxe)x(f)w](f[F 
f = exp(-x^2) 
fourier(f) cho: 
pi^(1/2)*exp(-1/4*w^2) 
we)w(g −= 
∫
∞
∞−
−
+== 2
iwt
t1
2
dte)w(g)t](g[F 
g = exp(-abs(w)) 
fourier(g) cho 
2/(1+t^2) 
|x|xe)x(f −= 
∫
∞
∞−
−
+−== u22
ixu
)u1(
i4
dxe)x(f)u](f[F
f = x*exp(-abs(x)) 
f = x*exp(-abs(x)) cho 
-4*i/(1+u^2)^2*u 
 b. Biến đổi Fourier ng−ợc:Khi biết hàm ảnh Fourier dùng biến đổi Fourier ng−ợc ta tìm 
đ−ợc hàm gốc.Cú pháp: 
f = ifourier(F) 
f = ifourier(F,u) 
f = ifourier(F,v,u) 
f = ifourier(F) là biến đổi Fourier ng−ợc của một đối t−ợng kí tự vô h−ớng F với biến 
mặc định là w.Kết quả là hàm của x: 
F = F(w) ⇒ f = f(x) 
Nếu F = F(x) , ifourier trả lại hàm của t f = f(t).Trong đó: 
∫
∞
∞−π
= dwe)w(F
2
1
)x(f iwx 
f = ifourier(F,u) làm cho f thành hàm của u thay ví của biến mặc định x.Trong đó: 
∫
∞
∞−π
= dwe)w(F
2
1
)u(f iwu 
f = ifourier(F,v,u) coi F là hàm của v và f là hàm của u thay cho accs biến mặc định w và 
x. 
∫
∞
∞−π
= dve)u(F
2
1
)u(f ivu 
Biến đổi Fourier ng−ợc Lệnh MATLAB 
2
2
a4
w
e)w(f = 
2)ax(iwx1 e
a
dwe)w(f)x](f[F −
∞
∞−
− ∫ π==
|x|e)x(g −=
syms a real 
f = exp(-w^2/(4*a^2)) 
F = ifourier(f) 
F = simple(F) cho 
ha*exp(-x^2*a^2)/pi^(1/2) 
g = exp(-abs(x)) 
66
|x|e)x(g −= 
∫
∞
∞−
−
+
π==
2
itx1
t1
dxe)x(g)t](g[F 
ifourier(g) cho 
1/(1+t^2)/pi 
1e2)w(f |w| −= − 
)t1(
)t1)(t(2
dwe)w(f)t](f[F
2
iwt1
+π
−πδ−
== ∫
∞
∞−
−
f = 2*exp(-abs(w)) - 1 
simple(ifourier(f,t)) cho 
(2-pi*Dirac(t)-pi*Dirac(t)*t^2)/ 
(pi+pi*t^2) 
2. Biến đổi Laplace và Laplace ng−ợc: 
 a. Biến đổi Laplace:Biến đổi Laplace dùng biến đổi ph−ơng trình vi phân thành ph−ơng 
trình đại số.Cú pháp: 
laplace(F) 
laplace(F,t) 
laplace(F,w,z) 
L = laplace(F) là biến đổi Laplace của hàm kí tự vô h−ớng F với biến độc lập t.Mặc định 
trả lại là hàm của s.Biến đổi Laplace đ−ợc áp dụng cho hàm của t và trả lại hàm của s. 
F = F(t) ⇒ L = L(s) 
Nếu F = F(s) Laplace trả lại hàm của t.Trong đó: 
∫
∞
−=
0
stdte)t(F)s(L 
L = laplace(F,t) làm cho L thành hàm của t thay cho biến mặc định s. 
∫
∞
−=
0
txdxe)x(F)t(L 
L = laplace(F,w,z) làm cho L thành hàm của z và F là hàm của t thay cho các biến mặc định s 
và t. 
 ∫
∞
−=
0
zwdwe)w(F)z(L 
Biến đổi Laplace Lệnh MATLAB 
4t)t(f = 
∫
∞
− ==
0
5
st
s
24
dte)t(F]f[L 
f = t^4 
laplace(f) cho 
24/s^5 
s
1
)s(g = 
∫
∞
− π==
0
st
s
dse)s(g)t](g[L 
g = 1/sqrt(s) 
laplace(g) cho 
1/(s^(1/2))*pi^(1/2) 
ate)t(f −= f = exp(-a*t) 
laplace(f) cho 
67
∫
∞
−
+== 0
tx
ax
1
dte)t(f)x](f[L 
1/(x+a) 
 b. Biến đổi Laplace ng−ợc:Khi có ảnh của hàm,ta có thể tìm lại hàm gốc bằng biến đổi 
Laplace ng−ợc.Cú pháp: 
F = ilaplace(L) 
F = ilaplace(L,y) 
F = ilaplace(L,y,x) 
F = ilaplace(L) là biến đổi Laplace ng−ợc của một đối t−ợng kí tự vô h−ớng L với biến mặc định 
là s.Trả về mặc định là hàm của t. 
 L = L(s) ⇒ F = F(t) 
Nếu L = L(t), ilaplace trả về hàm của x. 
 ∫
∞+
∞−
=
ic
ic
stdse)s(L)t(F 
F = ilaplace(L,y) làm cho F là hàm của y thay cho biến mặc định t. 
 ∫
∞+
∞−
=
ic
ic
sydse)y(L)y(F 
F = ilaplace(L,y,x) coi F là hàm của x và L là hàm của y thay cho biến mặc định t và s. 
 ∫
∞+
∞−
=
ic
ic
xydye)y(L)x(F 
Biến đổi Laplace ng−ợc Lệnh MATLAB 
2s
1
)s(f = 
∫
∞+
∞−
− =π=
ic
ic
st1 tdse)s(f
i2
1
]f[L 
f = 1/s^2 
ilaplace(f) cho 
t 
at
1
)t(g −= 
∫
∞+
∞−
− =π=
ic
ic
axxt1 xedte)t(g
i2
1
]g[L 
g = 1/(t-a) 
ilaplace(g) cho 
x*exp(a*x) 
22 au
1
)u(f −= 
ax
ic
ic
ax
xu1
ae2
1
ae2
1
due)u(g
i2
1
]f[L −
∞+
∞−
− ∫ −=π=
f = 1/(u^2-a^2) 
ilaplace(f) cho 
1/(2*a*exp(a*x))-1/(2*a*exp(-a*x)) 
3. Biến đổi z và z ng−ợc: 
a. Biến đổi z:Thực hiện phép biến đổi z trên hệ thống rời rạc để đ−a ph−ơng trình vi phân 
về ph−ơng trình đại số.Cú pháp: 
F = ztrans(f) 
68
F = ztrans(f,w) 
F = ztrans(f,k,w) 
F = ztrans(f) là phép biến đổi z của kí hiệu vô h−ớng f với biến độc lập mặc định n.Mặc định trả 
về hàm của z.Biến đổi z đ−ợc định nghĩa: 
∑∞=
0
nz
)n(f
)z(F 
Trong đó n là biến kí hiệu của f.Nếu f = f(z) thì ztrans trả về hàm của w F = F(w). 
F = ztrans(f,w) làm cho f thành hàm của w thay cho biến mặc định z. 
 ∑∞=
0
nw
)n(f
)w(F 
F = ztrans(f,k,w) coi f là hàm của k 
∑∞=
0
nk
)k(f
)w(F 
Biến đổi z Lệnh MATLAB 
4n)n(f = 
5
23
0n
n
)1z(
)1z11z11z(z
z)n(f]f[Z −
+++== ∑∞
=
−
f = n^4 
ztrans(f) cho 
z*(z^3+11*z^2+11*z+1)/(z-1)^5 
za)z(g = 
wa
w
w)z(g]g[Z
0z
z
−−== ∑
∞
=
− 
g = a^z 
ztrans(g) cho 
-w/(a-w) 
ansin)n(f = 
2
0n
n
wacosw21
asinw
w)n(f]f[Z +−== ∑
∞
=
− 
f = sin(a*n) 
ztrans(f) 
w*sin(a)/(1-2*w*cos(a)+w^2) 
 b. Biến đổi z ng−ợc:Khi có ảnh của biến đổi z ta có thể tìm lại gốc của nó nhờ biến đổi z 
ng−ợc.Cú pháp: 
f = iztrans(F) 
f = iztrans(F,k) 
f = iztrans(F,w,k) 
f = iztrans(F) là biến đổi z ng−ợc của đối t−ợng kí hiệu F với biến độc lập z.Mặc định trả về 
hàm của n: 
∫
=
− =π= R|z|
1n ,....2,1ndzz)z(F
i2
1
)n(f 
Trong đó R là số d−ơng đ−ợc chọn sao cho hàm F(z) là giải tích trên và ngoài vòng tròn | z | = 
R.Nếu F = F(n) iztrans trả về hàm của k: f = f(k). 
f = iztrans(F,k) coi f là hàm của k thay cho biến mặc định n. Trong đó k là đối t−ợng kí hiệu vô 
h−ớng. 
f = iztrans(F,w,k) coi F là hàm của w thay vì của biến mặc định. 
Biến đổi z ng−ợc Lệnh MATLAB 
69
2)2z(
z2
)z(f −= 
∫
=
−− =π= R|z|
n1n1 2ndzz)s(f
i2
1
]f[Z 
f = 2*z/(z-2)^2 
iztrans(f) cho 
n*2^n 
1n2n
)1n(n
)n(g
2 ++
+= 
k
R|z|
1k1 1dnn)n(g
i2
1
]f[Z −=π= ∫=
−− 
g = n*(n-1)/(n^2+2*n+1) 
iztrans(g) cho 
(-1)^k 
az
z
)z(f −= 
∫
=
−− =π= R|z|
k1k1 adzz)z(f
i2
1
]f[Z 
f = z/(z-a) 
iztrans(f) cho 
a^k 
z2z2
z
exe2x
)ex(x
)z,x(f +−
−= 
∫
=
−− =π= R|x|
kz1k1 edxz)z,x(f
i2
1
]f[Z 
f = x*(x-exp(z))/(x^2-2*x*exp(z) + exp(2*z)) 
iztrans(f) cho 
exp(z)^k 

File đính kèm:

  • pdfgiao_trinh_matlab_co_ban_chuong_2_su_dung_symbolic_math_tool.pdf
Tài liệu liên quan