Professional Documents
Culture Documents
expand(cos(x + y))
ans =
cos(x)*cos(y)-sin(x)*sin(y)
2020/9/22 3
1. Biểu thức đại số
2020/9/22 4
2. Phương trình đại số cơ bản
2020/9/22 5
2. Phương trình đại số cơ bản
2020/9/22 6
3. Phương trình bậc cao
Lệnh solve cũng được dùng để giải phương trình bậc cao. Do phương trình bậc cao
có nhiều nghiệm nên các nghiệm có thể được tách riêng ra từng phần.
Ví dụ: Giải phương trình sau và vẽ đồ thị phương trình bằng lệnh fplot
x2 - 6x - 12 = 0
syms x
eqn = x^2 - 6*x - 12 == 0
x = solve(eqn)
x1 = x(1)
x2 = x(2)
2020/9/22 7
3. Phương trình bậc cao
2020/9/22 8
4. Hệ phương trình
Lệnh solve([eqn1, eqn2,eqn3,…]) được dùng để giải hệ phương trình. Kết quả
được lưu vào biến đóng vai trò như một mảng. Để xem kết quả lần lượt gọi các biến
Ví dụ: Giải hệ phương trình sau: w + x + 4 y + 3 z = 5
2w + 3x + y − 2 z = 1
w + 2 x − 5 y + 4 z = 3
w − 3z = 9
syms w x y z
eqn1 = w + x + 4*y +3*z == 5
eqn2 = 2*w + 3*x + y - 2*z == 1
eqn3 = w + 2*x - 5*y + 4*z == 3 wSol = sol.w
xSol = sol.x
eqn4 = w - 3*z == 9
ySol = sol.y
sol = solve([eqn1, eqn2, eqn3, eqn4]); zSol = sol.z
2020/9/22 9
4. Hệ phương trình
Lệnh vpasolve được dùng để giải phương trình toán cao cấp.
Ví dụ: Giải hệ phương trình:
y = 32 x
y = 5 x
+1
syms x y
eqn1 = 3^(2*x) - y == 0
eqn2 = 5^x -y == -1
sol = vpasolve([eqn1, eqn2], [x, y]);
xSol = sol.x
ySol = sol.y
2020/9/22 10
5. Biểu diễn hàm số dưới dạng chuỗi
Chuỗi Taylor được sử dụng phổ biến để biểu diễn hàm số dưới dạng chuỗi. Trong đó:
+ taylor(f, x) trả lại đa thức Maclaurin bậc 5 xấp xỉ với hàm f.
+ taylor(f, 'Order’, n) trả lại đa thức Maclaurin bậc n-1.
Ví dụ: Triển khai chuỗi sinx ở bậc 19:
syms x
s = taylor(sin(x),'Order', 20)
2020/9/22 11
6. Giới hạn
Lệnh limit(f,a) được dùng để tính giới hạn của f khi x→a.
Ví dụ: Tính giới hạn khi x→ 3: f = 2 x + 1 , g = x 2 + 1
x−2
syms x
f = (2*x + 1)/(x - 2) limit(f, 3)
g = x^2 + 1 limit(g, 3)
Khi tính tới hạn: Nếu a = 0 thì mặc định không cần nhập. Nếu a→ thì nhập inf.
Ví dụ:Tính giới hạn khi x→:
f = x2 + x − x
syms x
f = (sqrt(x^2 + x) - x)
limit(f, inf)
2020/9/22 12
6. Giới hạn
Nếu tính giới hạn trái hoặc phải thì lần lượt thêm left hoặc right vào lệnh limit như
lim− ( f ( x ) , x, a, 'left' ) , lim+ ( f ( x ) , x, a, 'right' )
sau:
x →a x →a
x −3
Ví dụ: Tính giới hạn sau: lim
x →3 x − 3
syms x
f = (x - 3)/abs(x-3)
limit(f,x,3, 'left')
limit(f,x,3, 'right')
2020/9/22 13
7. Đạo hàm
Lệnh diff(f,n) được dùng để tính đạo hàm bậc n của hàm số f.
Ví dụ: Chứng tỏ rằng:
f =x 2
thõa df
− + 2 x = 0
syms x dx
f = x^2;
g = 2*x;
h = diff(f);
-h + g
2020/9/22 14
8. Giải phương trình vi phân thường
syms f(x)
eqn = diff(f,x,2) - sin(x)/x*(1 - 2/x^2) - 2*cos(x)/x^2 == 0;
Df = diff(f,x);
cond = [f(0) == 2, Df(0) == 0];
fSol(x) = dsolve(eqn,cond)
2020/9/22 15
9. Hệ phương trình vi phân
Lệnh dsolve được dùng để giải từng phương trình của hệ.
Ví dụ: Giải hệ phương trình vi phân sau:
d 2 x dx 1 dp 1 1
2
+ + x = 0, = − p − x, x ( 0 ) = 4, x ( 0 ) = 0, p (0) = 0
dt dt 4 dt 2 4
syms x(t) p(t)
eqn1 = diff(x,t,2) + diff(x,t) + 1/4*x == 0;
eqn2 = diff(p,t) == -1/2*p - 1/4*x;
Dx = diff(x,t);
cond = [x(0) == 4, Dx(0) == 0, p(0) == 0];
sol = dsolve([eqn1,eqn2],cond);
xSol = sol.x
pSol = sol.p
2020/9/22 16
10. Tích phân
syms x n
f = x^n;
int(f)
2020/9/22 17
10. Tích phân
syms x
f = x^2*cos(x);
double(int(f,-6,6))
2020/9/22 18
11. Tích phân nhiều lớp
Tích phân nhiều lớp được tính bằng cách lồng các hàm int vào nhau.
Ví dụ: Tính tích phân sau:
xyz 5 dxdydz
syms x y z
f = x*y*z^5;
int(int(int(f,x),y),z)
2020/9/22 19
12. Tích phân số
Matlab sử dụng phương pháp tích phân dạng bậc thang với lệnh trapz(x,y) để tính
tích phân số.
Ví dụ: Tính tích phân sau bằng phương pháp hình thang trong trường hợp 10 và 20
bậc chẵn. Tính sai số trong từng trường hợp.
2
0
x 2 dx
syms x
f = x^2;
F0 = int(f,0,2)
x = linspace(0,2,10);
x = linspace(0,2,20);
y = x.^2;
z = x.^2;
F1 = trapz(x,y); F2 = trapz(x,z);
err10 = double(100*abs((F0 - F1)/F0)); err20 = double(100*abs((F0 - F2)/F0));
2020/9/22 20
Thank you for your attention!