1. Trang chủ
  2. » Giáo án - Bài giảng

Symbolic -tài liệu matlap - DH Bách Khoa HN

97 648 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sử dụng Symbolic Math Toolbox trong Matlab
Tác giả Trần Minh Toàn
Người hướng dẫn SAMI-HUST
Trường học Viện Toán ứng dụng và Tin học, Đại học Bách Khoa Hà Nội
Chuyên ngành Toán học Ứng dụng
Thể loại Tài liệu môn học
Năm xuất bản 2012
Thành phố Hà Nội
Định dạng
Số trang 97
Dung lượng 569 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mở đầuSử dụng Symbolic Math Toolbox Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic Biến đổi giữa symbolic và sốCác đối tượng Symbolic Các kiểu d

Trang 1

Sử dụng Symbolic Math Toolbox

Chương 2: Sử dụng Symbolic Math Toolbox

trong MatlabTrần Minh Toàn(1)

Viện Toán ứng dụng và Tin học, ĐHBK Hà Nội

Hà Nội, tháng 1 năm 2012

(1)Email: toantm24@gmail.com

Trang 2

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic Biến đổi giữa symbolic và sốNội dung

1 Mở đầu

Tổng quan

Các đối tượng Symbolic

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

Thay thế các biến symbolic

Biến đổi giữa symbolic và số

2 Sử dụng Symbolic Math Toolbox

Trang 3

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic Biến đổi giữa symbolic và số

Mở đầu

Tổng quan

Phần mềm "Symbolic Math Toolbox" kết hợp tính toán "symbolic" vào môitrường số của phần mềm Matlab Các công cụ này bổ sung cho khả năng tínhtoán số học và đồ họa của Matlab thêm một số dạng của tính toán toán học,được tóm tắt dưới bảng sau:

tổng và khai triển chuỗi TaylorĐại số tuyến tính (Linear Algebra) Nghịch đảo, định thức, giá trị riêng, SVD

và dạng chính tắc của các ma trận symbolic

(Specials Mathematical Functions) cổ điển

Các phép biến đổi (Transforms) Fourier, Laplace, z và các dạng

biến đổi ngược tương ứng

Trang 4

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic Biến đổi giữa symbolic và sốCác đối tượng Symbolic

Các kiểu dữ liệu của Matlab và các đối tượng Symbolic tương ứng

Ví dụ sau minh họa sự khác nhau giữa một dữ liệu chuẩn của Matlab, ví dụdouble và đối tượng symbolic tương ứng

a=

2^(1/2)

Trang 5

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic Biến đổi giữa symbolic và sốCác đối tượng Symbolic

Các kiểu dữ liệu của Matlab và các đối tượng Symbolic tương ứng

Chú ý 1.1

Matlab cho kết quả 2^(1/2) nghĩa là 21 / 2, bằng cách sử dụng ký hiệusymbolic cho phép toán căn bậc hai, mà không tính toán giá trị số cụ thể.Matlab lưu biểu thức symbolic này dưới dạng string thay thế cho 21 / 2

Ta có thể nhận được giá trị số của đối tượng symbolic bằng cách dùnglệnh double:

>> double(a)

ans =

1.4142

Trang 6

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic Biến đổi giữa symbolic và sốCác đối tượng Symbolic

Các kiểu dữ liệu của Matlab và các đối tượng Symbolic tương ứng

11/15

Trang 7

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

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

Thay thế các biến symbolic Biến đổi giữa symbolic và sốTạo các biến và các biểu thức Symbolic

Trang 8

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

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

Thay thế các biến symbolic Biến đổi giữa symbolic và sốTạo các biến và các biểu thức Symbolic

Các lệnh sym và syms

Ví dụ 3

Giả sử ta muốn dùng symbolic để biểu diễn "tỷ lệ vàng" ρ = 1 +

√5

Trang 9

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

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

Thay thế các biến symbolic Biến đổi giữa symbolic và sốTạo các biến và các biểu thức Symbolic

>> a=sym(’a’); b=sym(’b’); c=sym(’c’) ; x=sym(’x’);

hoặc đơn giản hơn syms a b c x;

Trang 10

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic

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

Thay thế các biến symbolic Biến đổi giữa symbolic và sốTạo các biến và các biểu thức Symbolic

Trang 11

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic

Thay thế các biến symbolic

Biến đổi giữa symbolic và sốThay thế các biến symbolic

Trang 12

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic

Thay thế các biến symbolic

Biến đổi giữa symbolic và sốThay thế các biến symbolic

Lệnh subs

Chú ý 1.2

Để thay thế một ma trận vào trong một biểu thức symbolic f , sử dụnglệnh polyvalm(sym2poly(f), A), sẽ thay thế x bởi A, và thay thế cáchằng số trong f bởi một hằng số nhân với ma trận đơn vị

Khi một biểu thức có nhiều hơn một biến symbolic, ta có thể xác địnhbiến cần thay thế Ví dụ, để thay giá trị x = 3 trong biểu thức symbolic

Trang 13

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic

Thay thế các biến symbolic

Biến đổi giữa symbolic và sốThay thế các biến symbolic

Biến symbolic mặc định

Nếu ta không xác định một biến để thay thế, Matlab sẽ chọn một biếnmặc định theo qui tắc sau Đối với biến một chữ cái, Matlab chọn biếngần với x nhất trong bảng chữ cái Nếu có hai biến gần x như nhau,

Matlab sẽ chọn biến đứng sau trong bảng chữ cái

Trong ví dụ trên, hai lệnh subs(f,3) subs(f,x,3) cho kết quả giốngnhau

Trang 14

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Biểu thức symbolic dạng dấu chấm động

Xét giá trị ban đầu trong Matlab

Trang 15

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Biểu thức symbolic dạng hữu tỷ

Trang 16

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Biểu thức symbolic dạng hữu tỷ

Tùy chọn ’e’

Tùy chọn ’e’ trả về dạng hữu tỷ của t cộng với sự sai khác giữa giá trị thựccủa dạng hữu tỷ của t và giá trị thực (máy) dưới dạng dấu chấm động trongdạng eps (độ chính xác tương đối dạng dấu chấm động)

sym(t,’e’)

ans =

1/10+eps/40

Trang 17

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Biểu thức symbolic dạng thập phân

Tùy chọn ’d’

Tùy chọn thứ tư ’d’ trả về dạng thập phân mở rộng đến số các chữ số có

nghĩa, xác định bởi hàm digits:

Trang 18

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Biến đổi ma trận symbolic về ma trận dạng số

Một tính năng riêng của lệnh sym đó là chuyển một ma trận dạng số về dạngsymbolic Ví dụ, lệnh

Trang 19

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Biến đổi ma trận symbolic về ma trận dạng số

Trang 20

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Trang 21

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Xóa các biến trong không gian làm việc của nhân Maple

Khi ta tổ chức biến thực x với lệnh

>> syms x real

x trở thành một đối tượng symbolic trong không gian làm việc của Matlab và

là một biến thực dương trong nhân làm việc của Maple Nếu muốn bỏ thuộctính thực của x, nhập vào

chỉ xóa biến x trong không gian làm việc cùa Matlab Nếu sau đó ta nhập syms

x mà không xóa x trong môi trường làm việc của nhân Maple thì Matlab sẽxem x như là một số thực dương

Trang 22

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Tạo các hàm trừu tượng

Nếu muốn tạo một hàm trừu tượng f (x), nhập vào

>> f = sym(’f(x)’)

Khi đó, f hoạt động như là f (x) và có thể xử lý bằng các lệnh Matlab Ví dụ,

để xây dựng tỷ sai phân cấp 1, viết

Trang 23

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Dùng sym để truy cập các hàm của Maple

Ta có thể truy cập hàm tính giai thừa k bằng cách sử dụng lệnh sym

Trang 24

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

[ alpha, c, beta]

[ c, a, alpha]

Trang 25

Mở đầu

Sử dụng Symbolic Math Toolbox

Các đối tượng Symbolic Tạo các biến và các biểu thức Symbolic Thay thế các biến symbolic

Biến đổi giữa symbolic và số

Biến đổi giữa symbolic và số

Tạo các hàm toán học dạng symbolic

subs, và các hàm khác trong Symbolic

Math Toolbox để xử lý các biểu thức

trên

Tạo các M-file

M-file cho phép ta dùng các hàm tổngquát hơn Giả sử, muốn tạo hàmsinc(x) =

Trang 26

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânNội dung

1 Mở đầu

Tổng quan

Các đối tượng Symbolic

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

Thay thế các biến symbolic

Biến đổi giữa symbolic và số

2 Sử dụng Symbolic Math Toolbox

Trang 27

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 28

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 29

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 30

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Đạo hàm của các hàm nhiều biến

Để tính đạo hàm riêng của một hàm nhiều biến, ta phải xác định biến muốnlấy đạo hàm Ví dụ, cho biểu thức symbolic

Trang 31

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Đạo hàm của các hàm nhiều biến

Để tính đạo hàm của f theo đối s, nhập vào

Trang 32

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Đạo hàm của các hàm nhiều biến

Để tính đạo hàm riêng cấp hai theo đối t, nhập vào

Trang 33

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 34

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 35

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 36

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 37

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Tích phân

Một trong các vấn đề của tích phân symbolic đó là "giá trị" của các tham số

Ví dụ, nếu ta muốn tính tích phân I =

Trang 38

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

piecewise([1/a^(1/2)*pi^(1/2), signum(a) = 1],[Inf, otherwise])

Ta có thể dùng lệnh pretty(F) để nhận được dạng dễ đọc hơn:

Trang 39

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 40

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 41

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 42

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 43

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 44

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính Giải phương trình Biến đổi tích phânGiải tích

Trang 45

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Xét các biểu thức dạng symbolic khác nhau của cùng một hàm toán học:

Trang 46

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 47

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 48

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 49

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 50

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 51

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 52

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

simple

Đôi khi, hàm simple cải tiến kết quả cho bởi hàm simplify Ví dụ, khi ápdụng các ví dụ cho bởi simplify, simple cho kết quả đơn giản hơn (hoặc ítnhất ngắn hơn) Xét các ví dụ sau:

log(x*y)

Trang 53

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn

Đại số tuyến tính Giải phương trình Biến đổi tích phânRút gọn

Trang 54

Các phép toán đại số cơ bản

Các phép toán đại số cơ bản trên các đối tượng symbolic cũng giống như đốivới lớp double Ví dụ, các lệnh

Trang 55

Các phép toán đại số cơ bản

Trang 56

Các phép toán đại số cơ bản

Ma trận G là ma trận trực giao (G0= G−1), có thể kiểm chứng điều này bởi

Trang 57

Các phép toán cơ bản trong đại số tuyến tính

Trang 58

Các phép toán cơ bản trong đại số tuyến tính

Trang 59

Các phép toán cơ bản trong đại số tuyến tính

Ta có thể sử dụng toán tử \ để giải hệ đại số tuyến tính:

Trang 60

Giá trị riêng

Các giá trị riêng dạng symbolic của ma trận vuông A hoặc giá trị riêng và

vector riêng dạng symbolic của A được tính bằng các lệnh tương ứng sau

Trang 63

Giá trị riêng

Giá trị riêng đầu tiên bằng 0 Vector riêng tương ứng (cột đầu tiên của T d) Haigiá trị riêng còn lại là kết quả của việc áp dụng công thức toàn phương đối vớix^2-64/45*x+253/2160

là nhân tử bậc hai trong khai triển factor(poly(H)):

Trang 67

Dạng Jordan chính tắc

Dạng Jordan chuẩn tắc nhận được từ việc chéo hóa một ma trận bằng các

phép biến đổi đồng dạng Với ma trận đã cho A, tìm một ma trận không suybiến V sao cho inv(V)*A*V hay gọn hơn J=V\A*V "càng gần với ma trận

đường chéo càng tốt" Với hầu hết các ma trận, dạng Jordan chính tắc là matrận đường chéo của các giá trị riêng và các cột của ma trận chuyển vị của matrận các vector riêng Điều này luôn đúng nếu A là ma trận đối xứng hoặc cócác giá trị riêng phân biệt Một số ma trận không đối xứng cùng các giá trịriêng bội không thể chéo hóa được

Trang 68

Dạng Jordan chính tắc

Dạng chính tắc Jordan rất "nhạy cảm" với các nhiễu Điều này gây khó khăncho việc tính dạng Jordan với kết quả dạng dấu chấm động Điều này cũng đòihỏi phải biết chính xác ma trận A Các phần tử của A phải là các số nguyênhoặc tỷ số của các số nguyên nhỏ Ví dụ:

Trang 71

[2/3 2 -2 -2/3 -2/5]

[2/5 2/3 2 -2 -2/3]

[2/7 2/5 2/3 2 -2]

[2/9 2/7 2/5 2/3 2]

Trang 72

Vì các phần tử của A là các tỷ lệ của các số nguyên nhỏ nên hàm vpa(A) tạo

ra một biểu diễn biến số chính xác Do đó

S = svd(vpa(A))

sẽ tính các giá trị kỳ dị một cách hoàn toàn chính xác Với n = 16 và

Trang 74

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính

Giải phương trình

Biến đổi tích phânGiải phương trình

Giải các phương trình đại số

Nếu S là một biểu thức symbolic thì lệnh

>> solve(S)

sẽ tìm giá trị của các biến symbolic có trong S (có thể xác dịnh bởi lệnh

findsym) sao cho S = 0 Ví dụ

Trang 75

Mở đầu

Sử dụng Symbolic Math Toolbox

Rút gọn Đại số tuyến tính

Giải phương trình

Biến đổi tích phânGiải phương trình

Giải các phương trình đại số

Nếu ta muốn giải phương trình với biến định trước, ta phải chỉ rõ biến đó, ví

dụ nếu ta giải S = 0 theo đối b

>> b = solve(S,b)

b =

-(a*x^2+c)/x

Ngày đăng: 07/05/2014, 15:14

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w