Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

phần II Matlab symbolic
MIỄN PHÍ
Số trang
39
Kích thước
288.8 KB
Định dạng
PDF
Lượt xem
1331

phần II Matlab symbolic

Nội dung xem thử

Mô tả chi tiết

phần II

Matlab symbolic

Chương 1 Khởi tạo đối tượng symbolic.

1.1 Mở đầu.

1.2 Khởi tạo các đối tượng symbolic.

1.3

Chương 2 Đại số và giải tích.

2.1 Giải (hệ) phương trình đại số.

2.2 Giải tích toán học.

2.3 Giải (hệ) phương trình vi phân.

2.4 Chuỗi số và tính tổng.

2.5 Đại số tuyến tính.

2.6 Phép biến đổi Laplace, Fourier, Z.

2.7 Sử dụng các hàm Maple.

Vô hướng kí hiệu (symbolic scalar)

Vector kí hiệu (symbolic vector)

Ma trận kí hiệu (symbolic m trix)

Chương 1

Khởi tạo đối tượng symbolic.

1.1 Mở đầu.

Symbolic là toolbox được thiết kế cho ứng dụng toán học xử lý các phép toán

biểu thức kí hiệu (symbol expressions) trong môi trường Matlab. Phương tiện tính

toán của Symbolic dựa trên hạt nhân (kernel) Mapleâ

, phát triển đầu tiên tại trường đại

học Waterloo, Canada , và gần đây Eidgenửssiche Technische Hochschule, Zỹrich,

Switzerland. Maple được thương mại và cung cấp bởi công ty Waterloo Maple, Inc.

Symbolic có 2 toolbox. Toolbox phép toán kí hiệu cơ bản, bao gồm hơn 100

hàm Matlab dựa trên lõi Maple:

-Các phép tính vi phân, tích phân, giới hạn, tổng chuỗi và chuỗi Taylor.

-Đại số tuyến tính: Dạng đảo, định thức, trị riêng, phân tích giá trị suy biến

(singular value decomposition) và các dạng chuẩn tắc của ma trận kí hiệu.

-Các phương pháp đơn giản hoá biểu thức đại số.

-Giải hệ phương trình.

-Độ chính xác số học yêu cầu (VPA:Variable-Precision Arithmetic).

-Ước lượng phương pháp số cho biểu thức toán học với độ chính xác tuỳ ý.

-Các phép biến đổi Fourier, Laplace, biến đổi Z và các phép biến đổi ngược.

-Các hàm toán học đặc biệt.

-Các hàm đặc biệt cho toán ứng dụng cổ điển.

toolbox cơ bản cũng cho phép sử dụng các hàm trong tổ hợp (package) đại số tuyến

tính trong Maple. Thứ hai là Toolbox mở rộng cho phép sử dụng các tổ hợp

(packages) không sử dụng đồ hoạ, các đặc tính lập trình và các thủ tục (uer￾Page 1 of 39

procedures) trong Maple. Cả hai toolbox đều cho phép viết các m-files sử dụng các

hàm và không gian làm việc (workspace) của Maple.

1.2 Khởi tạo các đối tượng symbolic

Đối tượng symbolic là kiểu dữ liệu phục vụ cho các phép toán biểu thức kí

hiệu. Toolbox Symbolic định nghĩa kiểu dữ liệu này là kiểu sym, là kiểu cấu trúc dữ

liệu kiểu xâu kí tự biểu diễn các kí hiệu. Toolbox Symbolic sử dụng các đối tượng

sym để biểu diễn các biến, các biểu thức và các ma trận.

1.2.1 Tạo các biến Symbolic và biểu thức.

Câu lệnh sym, syms dùng để tạo các biến symbolic và biểu thức.

Cú pháp của sym:

s=sym(str); xây dựng đối tượng s, lớp sym, từ đối số str. Nếu đối số vào là xâu kí tự, trả lại số hoặc

biến kí hiệu. Nếu đối số vào là ma trận số hoặc vô hướng, trả lại biểu diễn kí hiệu của các giá trị

số.

x=sym('x'); tạo biến kí hiệu có tên 'x' được lưu trong x.

x=sym('x','real'); tạo biến kí hiệu có tên 'x', với x là thực, với biến này conj(x) bằng x.

k=sym('x','poisitive'); tạo biến k (thực) dương.

x=sym('x','unreal'); tạo biến x là biến hình thức thuần tuý, có thể dương, âm...

pi=sym('pi') và dt=sym('1/10'); tạo các số kí hiệu để tránh sai số vốn có của các số dấu phẩy động

của các giá trị pi và 1/10. Biến pi tạo theo cách này sẽ thay thế tạm thời hàm built-in pi.

x=sym(A,flag); chuyển các ma trận số hoặc vô hướng về dạng số kí hiệu. Chuyển số phảy

động theo lựa chọn ở đối số flag, các giá trị của flag có thẻ là: 'f', 'r', 'e' hay 'd', mặc định là

'r'.

'f' tương ứng cho số phảy động. Tất cả các gía trị được biểu diễn theo dạng '1.F'*2(e) hoặc '-

1F'*2(e) với F là xâu kí tự 13 chữ số hệ thập lục và e là số nguyên. Điều này giữ cho các

giá trị dấu phảy động được chính xác, nhưng không tiện lợi cho các tính toán sau này. Ví

dụ, sym('1/10') là '1.999999999999a'*2^(-4) do 1/10 không biểu diễn chính xác theo dấu

phảy động.

'r' tương ứng với phân số. Các số phảy động nhận từ tính toán biểu thức dạng p/q, p*pi/q,

sqrt(p), 2^q và 10^q được đổi theo dạng kí hiệu các số nguyên có độ lớn vừa phải p và q.

Kết quả này ảnh hưởng đến phần bù lỗi làm tròn khi ước lượng giá trị gốc, có thể không

biểu diễn giá trị dấu phảy động được chính xác. Nếu không có dạng phân số xấp xỉ đơn

giản, biểu thức dạng p*2^q được phát sinh biểu diễn số phảy động được chính xác. Ví dụ

sym('4/3','r') là '4/3', còn sym('1+sqrt(5)','r') là 7286977268806824*2^(-51).

'e' tương ứng cho sai số ước lượng. Dạng 'r' được bù bằng số hạng chứa biến 'eps' để ước

lượng sai lệch giữa biểu thức phân số lý thuyết và giá trị dấu phẩy động thực tế. Ví dụ,

sym(3*pi/4) là 3*pi/4-103*eps/249

'd' tương ứng với thập phân. Số chữ số được lấy từ thiết lập mặc định của digits và được sử

dụng bởi vpa. Số có ít hơn 16 chữ số sẽ giảm ít độ chính xác, còn các số có hơn 16 chữ số

không được đảm bảo. Ví dụ digits(10), sym('4/3','d') là 1.333333333, còn digits(20),

sym(4/3,'d') is 1.3333333333333332593, không kết thúc với toàn số 3, nhưng là số thập phân

chính xác biểu diễn số phảy động gần nhất của 4/3.

Ví dụ:

A = hilb(3) %Sinh ma trận hilbert 3x3

A =

1.0000 0.5000 0.3333

0.5000 0.3333 0.2500

0.3333 0.2500 0.2000

Page 2 of 39

Chuyển A về đối tương sym.

A = sym(A) %Nhận được ma trận chính xác Hilbert 3x3

A =

[ 1, 1/2, 1/3]

[ 1/2, 1/3, 1/4]

[ 1/3, 1/4, 1/5]

syms -hàm xây dựng các đối tượng sym.

syms arg1 arg2 ... là cách viết gọn thay cho

arg1 = sym('arg1');

arg2 = sym('arg2'); ...

syms arg1 arg2 ... real là cách viết gọn thay cho

arg1 = sym('arg1','real');

arg2 = sym('arg2','real'); ...

syms arg1 arg2 ... positive là cách viết gọn thay cho

arg1 = sym('arg1','positive');

arg2 = sym('arg2','positive'); ...

syms arg1 arg2 ... unreal là cách viết gọn thay cho

arg1 = sym('arg1','unreal');

arg2 = sym('arg2','unreal'); ...

Yêu cầu tên các đối số phải bắt đầu bằng kí tự chữ kiểu biến.

syms x beta real tương tự

x = sym('x','real');

beta = sym('beta','real');

syms k positive tương tự

k = sym('k','positive');

Để xoá bỏ thuộc tính 'real' hay 'positive', sử dụng lệnh

syms x beta unreal

Các ví dụ:

Xét tỉ số vàng:

ằ rgold = sym('(1 + sqrt(5))/2')

rgold =

(1 + sqrt(5))/2

ằ f = rgold^2 - rgold - 1

f =

(1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)

ằ simple(f)

ans =

0

Xét hàm bậc 2 dạng f(x)=ax2+b*x+c, lệnh:

f=sym('a*x^2+b*x+c');

sẽ gán cho f biểu thức ax2+bx+c. Tuy nhiên, Toolbox này không tạo ra các biến tương ứng

với các số hạng trong biểu thức a, b, c và x. Để tính toán trên f (như lấy tích phân, đạo hàm,

phép thế....), cần phải khởi tạo các biến này. Tạo các biến đó như sau:

a = sym('a')

b = sym('b')

c = sym('c')

x = sym('x')

hay

syms a b c x

a. Tính toán với số thập phân có độ chính xác tuỳ ý.

Matlab cung cấp 2 hàm cho phép xác định số chữ số thập phân của biến sym.

Page 3 of 39

Tải ngay đi em, còn do dự, trời tối mất!