- Trong cả 2 trường hợp trên sau khi câu lệnh được thực hiện (sau khi nhấn enter) k ết quảđều được lưu trong không gian làm việ c Workspace và có th ể s ử
Chapter XVII 4.7 – Symbolic toolbo
Symbolic Math Toolbox định nghĩa một kiểu dữ liệu mới của Matlab gọi là đối tượng Symbolic. Một đối tượng Symbolic là một cấu trúc dữ liệu lưu trữ một đại diện kiểu sâu ký tự
của một biểu tượng (Symbol). Symbolic Math Toolbox sử dụng các đối tượng Symbolic để
biểu diễn các biến, biểu thức và Matlab trận Symbolic.
4.7.1- Tạo đối tượng (biến, biểu thức) SYMBOLIC
Lệnh sym cho phép xây dựng các biến và biểu thức symbolic. Ví dụ: >> x = sym(‘x’); y = sym(‘y’); % lệnh này tạo ra x,y là các biến symbolic.
Giả sử ta muốn sử dụng một biến symbolic để biểu diễn tỷ số: ρ = 2 5 1+ ta sử dụng lệnh sau: >>ro = sym(‘(1+sqrt(5))/2’); ↵
sau lệnh ở trên ta có thể thực hiện rất nhiều phép toán đối với ro, ví dụ: >>f = ro^2-ro-1 f = (1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2) Giả sử bạn muốn nghiên cứu hàm bậc hai f = ax2 + bx +c. >> f=sym('a*x^2+b*x+c') f = a*x^2+b*x+c
Câu lệnh trên đã gán biểu thức symbolic ax2 + bx +c vào biến f. Tuy nhiên, trong trường hợp này Matlab không tạo ra các biến tương ứng với các số hạng của biểu thức (a, b, c, x). Để thực hiện các phép toán symbolic chẳng hạn như tích phân, đạo hàm,… đối với f, cần tạo ra các biến một cách chính xác bằng cách gõ:
>>a = sym('a') >>b = sym('b') >>c = sym('c')
130 >>x = sym('x') >>x = sym('x')
Hoặc ta có thể khai báo một cách đơn giản: >> syms a b c x
* Tạo các biến thực:
>> x = sym(‘x’, ‘real’);y =sym(‘y’,’real’) %x,y là biến kiểu thực symbolics hoặc đơn giản hơn
>>syms x y real %Lệnh này tạo ra các biến x và y là biến symbolic kiểu thực. >>syms x real y
hay 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
Để xoá đặc tính “real” của các biến x, y ta dùng lệnh sau: syms x y unreal hay: >>x = sym(‘x’, ‘unreal’)
syms t
Q = sym(‘Q(t)’);
% t biến symbolic và Q là hàm symbolic.
* Biến symbolic mặc định
Khi vận dụng các hàm toán học, việc chọn biến độc lập thường là rõ ràng từ ngữ cảnh. Ví dụ, ta xem xét biểu thức toán học f = sin(a.t + b) được biểu diễn trong Matlab như sau: f =. Nếu ta cần tính đạo hàm của biểu thức này mà không xác định biến độc lập thì theo quy ước toán học ta nhận được f’ = a.cos(a.t + b). Giả thiết rằng biến độc lập trong biểu thức này là t thì các biến còn lại a, b được xem như các hằng số hoặc tham số. Theo quy ước toán học thì biến độc lập thường là các chữ in thường nằm ở cuối bảng chữ cái (ví dụ: x, y, z, t, u, v,…).
>>syms a b t >>f = sin(a*t + b);
131 >>diff(f) %Lệnh này tính đạo hàm của biểu thức symbolic f.