Ứng dụng tính toán trong Matlab - Pdf 62

Chơng 6
ứng dụng tính toán trong matlab

6.1 Lệnh sym, syms:
Mục đích: Biến đổi các số, biến, đối tợng thnh Symbolics.
Ví dụ:
>> sym x y
>> x = sym(x); y = sym(y);
% x,y l các biến symbolic.
>> syms x y real
>> x = sym(x, real);y =sym(y,real)
%x,y l biến kiểu thực symbolics
syms x real y
x = sym(x, real);y = sym(y)
% x l biến kiểu thực, y l biến bất kỳ kiểu symbolic
syms x y unreal
% x, y không phảil l biến thực
syms t
Q = sym(Q(t));
% t biến symbolic v Q l hm symbolic.

6.2 Nhân 2 đa thức:

( Dùng lệnh conv)
y1 = a
n
x
n
+ a
n-1
x

2
+ 4x
>> y1 = [2 3 1]
Trang 1
>> y2 = [3 4 0]
>> y3 = conv(y1,y2)
>> y3 = 6 17 15 4 0

Chú ý
: hm conv chỉ thực hiện nhân 2 đa thức. Muốn nhân nhiều đa thức với nhau ta phải
thực hiện nhiều lần hm conv.

6.3 Các tình toán cho phơng trình:
6.3.1 Giải phơng trình bậc cao:
(
Lệnh Roots)
y = a
n
x
n
+ a
n-1
x
n-1
+...+a
0
Bớc1: Lập 1 ma trận hng có các phần tử l các hệ số từ a
n
đến a
0


>> poly2sym([1 0 -2 -5])
Trang 2
ans =
x^3-2*x-5
>> y = [1 2 3 0 1]
y = 1 2 3 0 1
>> poly2sym(y)
ans = x^4+2*x^3+3*x^2+1
6.3.4 Gi¶i hÖ ph−¬ng tr×nh tuyÕn tÝnh:
Vd gi¶i hÖ ph−¬ng tr×nh tuyÕn tÝnh sau:





=++
=−+
=++
2
19463
732
zyx
zyx
zyx

Thùc chÊt hÖ ph−¬ng tr×nh trªn cã thÓ ®−a vÒ phÐp to¸n ma trËn sau:
2
19
7

-1.0000
VD2:
>>A=[1+i 2i;3+i 1]
A = 1.0000 + 1.0000i 0 + 2.0000i
3.0000 + 1.0000i 1.0000
>> C=inv(A)
C =
0.0882 + 0.1471i 0.2941 - 0.1765i
-0.1176 - 0.5294i -0.0588 + 0.2353i
>> B=[1; 2+i]
B =
1.0000
2.0000 + 1.0000i
>> KQ=C*B
KQ =
0.8529 + 0.0882i
-0.4706 - 0.1176i
VD3
>>syms a1 a2 b1 b2 c1 c2
>>A=[a1 a2;b1 b2]
A =
[ a1, a2]
[ b1, b2]
>> B=[c1;c2]
B =
[ c1]
[ c2]
>> C=inv(A)
Trang 4
C =

v+1
Trang 5
>>[a,v] = solve('a*u^2 + v^2','u - v = 1','a,v')
a = -(u^2-2*u+1)/u^2
v = u-1
6.3.7 Gi¶i hÖ ph−¬ng tr×nh vi ph©n th−êng: ( lÖnh dsolve)

>>y = dsolve('(D2y) =1','y(0) = 1')
y = 1/2*t^2+C1*t+1
>>[x,y]=
dsolve('Dx = y', 'Dy = -x')

x= cos(t)*C1+sin(t)*C2
y = -sin(t)*C1+cos(t)*C2

6.3.8 Gi¶i hÖ ph−¬ng tr×nh vi phÇn theo hμm cã s½n cña Matlab:
VÝ dô: Cho hÖ ph−êng tr×nh vi ph©n Ch−¬ng tr×nh m« t¶ ph−¬ng tr×nh vi ph©n d¹ng M-file:
function dy = rigid(t,y)
dy = zeros(3,1);
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
Thêi gian gi¶i ph−¬ng tr×nh vi ph©n Tspan =[0 12], vector ®iÒu kiÖn ®Çu [0 1 1]

>>options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-
5]);
>>[t,y] = ode45('rigid',[0 12],[0 1 1],options);

Tính đạo hm (diff):
ắ diff(S): Đạo hm biểu thức symbolic S với biến của đạo hm tự do.
ắ diff(S,v) hay diff(S,sym(v)): Đạo hm biểu thức symbolic S với biến lấy
đạo hm l biến symbolic v.
ắ diff(S,n) : Đạo hm cấp n biểu thức S, n l số nguyên dơng.
Ví dụ:
>>syms x t
>> y = sin(x^2);
>>z = diff(y);
z = 2*cos(x^2)*x
pretty(z)% hiển thị dạng quen thuộc
2.cos
2
x.x
>>y = diff(t^6,6) % đạo hm bậc 6 của hm t
6
.
Trang 7


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status