BÀI 4: SYMBOLIC
• Là công cụ thực hiện tính toán các biểu thức toán học ở dạng ký tự.
• Khi tính toán, phải thực hiện thông qua một chuỗi biểu thức biểu
diễn hàm toán học.
• Cần phải định nghĩa hàm dưới dạng các ký hiệu.
Bài 4
1
Tên hàm
Chức năng
syms
Khai báo biến
Tên hàm
Chức năng
findsyms Tìm biến trong biểu thức
sym
Khai báo mảng
pretty
Sắp xếp biểu thức
diff
Đạo hàm và vi phân
collect
Tách các hệ số
simplify
Rút gọn biểu thức
solve
Giải phương trình
int
Tích phân
dsolve
Giải phương trình vi phân
subs
Thay thế các ký hiệu bằng giá trị laplace
Biến đổi Laplace
factor
Phân tích ra thừa số nguyên tố
ilaplace
Biến đổi Laplace ngược
expand
Khai triển biểu thức
fourier
Biến đổi Fourier
ezplot
Vẽ biểu thức
ifourier
Biến đổi Fourier ngược
limit
Tìm giới hạn
finverse
Tính hàm ngược
Bài 4
2
Đạo hàm
Dùng hàm diff để xác định đạo hàm của một hàm số.
>>syms x
>>y = diff('x/(1+x^3)')
>> y=diff(cos(x))
y =
y =
1/(x^3 + 1) - (3*x^3)/(x^3 + 1)^2
-sin(x)
>> simplify(y)
>>diff('x^3+3*x^2+2*x-1',2)
ans =
ans =
-(2*x^3 - 1)/(x^3 + 1)^2
6*x + 6
Bài 4
3
Đạo hàm
>> syms m
>> z = 2*sin(x) + m^2*cos(x)
>> diff(z,m,2)
>> diff(z,x,3)
ans =
ans =
2*cos(x)
sin(x)*m^2 - 2*cos(x)
Bài 4
4
Tích phân
Dùng hàm int để tính tích phân
>> y = int(1/(1+x^2))
y=
atan(x)
Không thực hiện được khi hàm phức tạp
>>y = int(log(x)/exp(x^2))
y =
int(exp(-x^2)*log(x), x)
Bài 4
5
Tích phân
Tích phân xác định
>> y = int(x*log(1+x),0,1)
y =
1/4
>> y=int(x^3*atan(x),0,pi/4)
y =
pi/16 - atan(pi/4)/4 + (pi^4*atan(pi/4))/1024 - pi^3/768
>> eval(y)
ans =
0.0529
Bài 4
6
Tích phân
Nhiều tích phân không thể tính nguyên hàm được --> dùng hàm quad tính tích
phân bằng phương pháp cầu phương Simpson thích nghi
>> y=int(exp(x)*atan(x^2)/cos(x),0,1)
y=
int((atan(x^2)*exp(x))/cos(x), x, 0, 1)
>> y=inline('(exp(x).*atan(x.^2)./cos(x)’)
>> quad(y,0,1)
ans =
0.9230
Bài 4
7
Hàm ngược
Dùng hàm finverse để tìm hàm ngược.
>> finverse(1/x)
ans =
1/x
>> finverse(a*x+b)
ans =
-(b - x)/a
>> finverse(x^2) %Warning do có 2 kết quả khác nhau
Warning: finverse(x^2) is not unique.
ans =
x^(1/2)
Bài 4
8
Vẽ đồ thị
Dùng hàm ezplot vẽ đồ thị hàm số.
>> subplot(211)
>> ezplot(sin(x)/x)
>> subplot(212)
>> ezplot(sin(x)/x,[0,4*pi])
Bài 4
9
Vẽ đồ thị
Dùng hàm ezsurf vẽ đồ thị 3D.
>> ezsurf(x*exp(-x^2 - y^2))
Bài 4
10
Giải phương trình
Dùng hàm solve giải phương trình và hệ phương trình
>>y=solve(x^3+1==0)
y=
-1
1/2 - (3^(1/2)*1i)/2
(3^(1/2)*1i)/2 + 1/2
>> eval(y)
ans =
-1.0000 + 0.0000i
0.5000 - 0.8660i
0.5000 + 0.8660i
Bài 4
11
>> y=solve(x^3+2*x^2+1==0)
y=
root(z^3 + 2*z^2 + 1, z, 1)
root(z^3 + 2*z^2 + 1, z, 2)
root(z^3 + 2*z^2 + 1, z, 3)
>> y=vpa(y)
y=
-2.2055694304005903117020286177838
0.10278471520029515585101430889191 - 0.66545695115281347670619061162908i
0.10278471520029515585101430889191 + 0.66545695115281347670619061162908i
>> eval(y)
ans =
-2.2056 + 0.0000i
0.1028 - 0.6655i
0.1028 + 0.6655i
Bài 4
12
Giải hệ phương trình
>> syms x1 x2 x3
>> [y1,y2,y3]=solve(2*x1+3*x2-2*x3==1,x1-x2+3*x3==2,x2-2*x3==4)
y1 =
35/2
y2 =
-19
y3 =
-23/2
Bài 4
13
Giải hệ phương trình
>> [y1,y2,y3]=solve(2*x1+3*x2-2*x3==1,x1-x2+3*x3==2,x2^2-2*x3==4)
y1 =
(7*329^(1/2))/64 + 21/64
21/64 - (7*329^(1/2))/64
y2 =
5/8 - 329^(1/2)/8
329^(1/2)/8 + 5/8
y3 =
49/64 - (5*329^(1/2))/64
(5*329^(1/2))/64 + 49/64
>> eval([y1 y2 y3])
ans =
2.3120 -1.6423 -0.6514
-1.6558 2.8923 2.1827
Bài 4
14
Giải phương trình vi phân
Dùng hàm dsolve giải phương trình vi phân
Không có điều kiện đầu
>> y=dsolve('Dy=y*tan(x)+cos(x)',x)
y=
(x/2 + sin(2*x)/4)/cos(x) + C4/cos(x)
>> y = simplify(y)
y=
(4*C4 + 2*x + sin(2*x))/(4*cos(x))
>> pretty(y)
4 C4 + 2 x + sin(2 x)
--------------------4 cos(x)
Điều kiện đầu y(0) = 1
>> y=dsolve('Dy=1+y^2','y(0)=1','x')
y=
tan(x + pi/4)
Bài 4
15
Giải phương trình vi phân
>> y=dsolve('D2y=cos(2*x)-y','Dy(0)=1','y(0)=1','x')
y=
(5*cos(x))/3 + sin(x) + sin(x)*(sin(3*x)/6 + sin(x)/2) - (2*cos(x)*(6*tan(x/2)^2 3*tan(x/2)^4 + 1))/(3*(tan(x/2)^2 + 1)^3)
>> y=simplify(y)
y=
(8*cos(x))/3 + sin(x) - (8*cos(x/2)^4)/3 + 1
>> pretty(y)
/ x \4
cos| - | 8
8 cos(x)
\2/
-------- + sin(x) - ----------- + 1
3
3
Bài 4
16
Giải hệ phương trình vi phân
>>[f,s] = dsolve ('Dz=3*z+4*y', 'Dy=-4*z+3*y' , 'z(0)=0','y(0)=1','x')
f=
cos(4*x)*exp(3*x)
s=
sin(4*x)*exp(3*x)
Bài 4
17
Tìm giới hạn
Dùng hàm limit tìm giới hạn
>> y=limit(sin(x)/x)
% Giới hạn phải
y=1
>> limit(1/x,x,0,'right')
>> y=limit(sin(x)/x,inf)
ans =
y =0
>> y=limit(cos(4*x)*exp(3*x))
Inf
% Giới hạn trái
>> limit(1/x,x,0,'left')
y =1
ans =
>> y=limit(cos(4*x)*exp(3*x),inf)
-Inf
y = NaN
Bài 4
18
Bài tập
1. Tính và vẽ đạo hàm của hàm số y = sinx3
2. Tính tích phân: 𝑦 =
1 𝑥 2 (2𝑥 2 +1)
−1 5(𝑥 3+3) 𝑑𝑥
𝑥 2 𝑠𝑖𝑛𝑥 2 − 𝑦 = 7
3. Giải hệ phương trình: ቊ
𝑥−𝑦 =2
𝑥
4. Vẽ mặt có phương trình sau: 𝑓 𝑥, 𝑦 = 2𝑥 2+𝑦2
5. Tính đạo hàm cấp 2 của hàm số sau: 𝑦 = 1 − 𝑥 𝑒 𝑥
2 +2𝑥
6. Giải các bài toán trong bài 3 bằng cách dùng Symbolic.
Bài 4
19