Tải bản đầy đủ (.pdf) (19 trang)

TH Tin học kỹ thuật matlab 4

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 (770.62 KB, 19 trang )

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



×