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

phần II Matlab symbolic

39 2,4K 4

Đ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

Định dạng
Số trang 39
Dung lượng 505,5 KB

Nội dung

giáo trình matlab

Trang 1

phần II Matlab symbolicChươ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ố.

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,

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-

Trang 2

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.

Trang 3

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

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

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

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 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

Trang 4

digits-Đặt số lượng chữ số thập phân chính xác cho tính toán phương pháp số của Maple digits trả về xác lập số chữ số Digits hiện dùng Mặc định bằng Digits=32.

digits(D) đặt Digits=D cho các tính toán tiếp theo D là số nguyên, hoặc xâu kí tự

hoặc biến sym biểu diễn số nguyên

D=digits trả lại xác lập của số chữ số hiện dùng.

vpa -Độ chính xác số học yêu cầu, trả về xâu kí tự biểu diẽn số.

r=vpa(s) ước lượng giá trị số cho các phần tử của của ma trận s , sử dụng số học dấu phẩy động chính xác yêu cầu với D chữ số chính xác, với D là số chữ số hiện hành xác định bới digits, kết quả r là biến sym

vpa(s,D) sử dụng D chữ số thay cho xác lập của Digits D là sô nguyên hoặc biến sym biểu diễn số nguyên

double(s) -Chuyển kí hiệu dạng số (numeric symbolic) vè số thực double

Ví dụ:

6 chữ số 9 liên tiếp từ số thập phân thứ 770 của khai triển số pi

abs(u)ans =p

c Biến hàm kí hiệu trìu tượng.

Khi muốn tạo hàm trìu tượng, sử dụng câu lệnh:

Trang 5

Các hàm trìu tượng ứng dụng trong các phép tính cho biến đổi Fourier, Laplace

và biến đổi Z

d Sử dụng sym để truy nhập các hàm Maple.

Có thể sử dụng hàm tính giai thừa k! trong Maple như sau:

Thay thế các phần tử a, b của A bằng các biến kí hiệu alpha, beta

syms alpha beta;

f tìm kiếm các biến trong biểu thức.

Matlab cung cấp hàm findsym để tìm các biến trong biểu thức hoặc ma trận kí hiệu

findsym(s) -Với biến s lầ các vô hướng hoặc ma trận dạng sym, hàm findsym trả về xâu

kí tự của tất cả các biến trong s Các biến trả về được sắp theo thứ tự bảng chữ cái và phân cách nhau bởi dấu phảy Nếu không có biến sym trong biểu thức nó trả về xâu kí tự trống

Trang 6

findsym(s,n) -Trả về n biến gần chữ cái 'x'.

1.2.2 Các phép biểu diễn biểu thức kí hiệu.

Toolbox symbolic cung cấp một số hàm biểu diễn các biểu thức số học

sử dụng pretty để in ra màn hình biểu thức sym

pretty(S) -in biểu thức sym S thành khuôn dạng kiểu toán học thông thường

pretty(S,n) -sử dụng màn hình có chiều rộng n thay cho màn hình mặc định là 79.

ezsurf((x^2-y^2)*cos(x+2*y),[-pi pi -pi/2 pi/2]);

1.2.3 Các phép biến đổi số học đơn giản.

a Phép thay thế.

subs(s) - Thay thế tất cả các biến trong biểu thức s bằng giá trị nhận từ các hàm được gọi và trong workspace

subs(s,new) -Thay thế các biến tự do trong s bằng new

subs(s,old,new) -Thay thế biểu thức old bằng biểu thức new trong biểu thức s old là biến kí

hiệu, xâu kí tự biểu diễn tên biến, hoặc biểu thức xâu kí tự new là biến kí hiệu hoặc biến giá trị hoặc biểu thức Nếu old và new là mảng khối có cùng kích thước sẽ thay thế tương ứng các phần tử của new cho old Nếu s và old là các vô hướng và new là mảng hoặc mảng khối, các vô hướng được khai triển để sinh mảng kết quả Nếu new là mảng khối các ma trận số, các phép thế được thực hiện cho từng phần tử (ví dụ: subs(x*y,{x,y},{A,B}) trả lại A.*B khi A và B là các ma trận số)

Khi subs(s,old,new) không thay đổi s, thì subs(s,new,olld) được dùng Điều này đưa ra tính tương thích ngược với các phiên bản trước đây và nó kử trật tự thứ tự các đối số Câu lệnh subs(s,old,new,0) không chuyển các đối số khi s không bị thay đổi

Ví du:

a = 980;

C1 = 3;

Câu lệnh y = dsolve('Dy = -a*y')

sẽ cho kết quả y = exp(-a*t)*C1

khi đó câu lệnh

subs(y) cho ta ans = 3*exp(-980*t)

Phép thế đơn:

Trang 7

subs(a+b,a,4) trả lại 4+b.

Phếp thế đa biến:

subs(cos(a)+sin(b),{a,b},{sym('alpha'),2}) trả lại cos(alpha)+sin(2)

Khai triển vô hướng đơn:

subexpr -Viết lại theo nhóm số hạng chung của các biểu thức

[y,sigma] = subexpr(X,sigma) hay [Y,sigma] = SUBEXPR(X,'sigma') viết lại biểu thức X

b Phép đơn giản biểu thức.

simple -Tìm dạng biểu thức dơn giản nhất cho biểu thức và ma trận kí hiệu

simple(s) -Thử các phương pháp đơn giản hoá đại số khác nhau của s và trả về (hiển thị các kết quả rút gọn cacs phương pháp) dạng có chiều dài ngắn nhất đối với s là biến sym Khi s là ma trận, kết quả là dạng ngắn nhất của cả ma trận, không phải mỗi phần tử riêng

có dạng ngắn nhất

[r,how]=simple(s)- Không hiển thị các phép biến đổi trung gian, và trả lại dạng đơn giản

ngắn nhất tìm được, r là biến sym, how là xâu kí tự phép biến đổi

Ví dụ:

Trang 8

symplify Đơn giản hoá biểu thức.

symplify(s) Đơn giản hoá biểu thức s về dạng đơn giản nhất, không như simple đưa về dạng ngắn nhất

Hàm khai triển các tích thừa số về tổng luỹ thừa các thừa số chung

expand(s) -Ghi mỗi phần tử của biểu thức s thành tổng của luỹ thừa các thừa số chung

expand sử dụng nhiều cho các hàm đa thức, được sử dụng khai triển hàm lượng giác, hàm

mũ và hàm logarit

Ví dụ:

v = [exp(x + y) log(x^2/y)]

expand((x+1)^3) ttrả về x^3+3*x^2+3*x+1

expand(sin(x+y)) trả lại sin(x)*cos(y)+cos(x)*sin(y)

expand(v) trả về [exp(x)*exp(y), 2*log(x)-log(y)]

Hàm khai triển biểu thức về dạng tích các thừa số nguyên tố

factor(s) -Phân tích ma trận s thành tích các thừa số của s Nếu s chứa toàn số nguyên, các phần tử sẽ được tính là tích các thừa số nguyên tố Để phân tích số nguyên tố lớn hơn 2^52, sử dụng factor(sym('n'))

collect(s,v) -Nhóm các số hạng theo đa thức v của các phần tử ma trận kí hiệu s và biểu diễn

s theo các số hạng là luỹ thừa của v

collect(s) -sử dụng biến mặc định xác định bởi hàm findsym.

Ví dụ:

collect(x^2*y + y*x - x^2 - 2*x) trả về (y-1)*x^2+(y-2)*x

f = -1/4*x*exp(-2*x)+3/16*exp(-2*x)

collect(f,exp(-2*x)) trả về (-1/4*x+3/16)*exp(-2*x)

d Một số biến đổi đơn giản khác.

Symbolic cung cấp hàm numden cho phép ta xác định phân thức và mẫu thức kí hiệu Hàm numden(s) chuyển phân số trong s thành dạng các đa thức nguyên tố hệ số hằng

Trang 9

Chuyển đa thức dạng kí hiệu về vector các hệ số của đa thức, và ngược lại.

Trang 10

chương II Đại số và giải tích

2

r

exp

0)Nvar, ,2var,1(var

Với eprk là biểu thức kí hiệu phương trình thứ k vark là các biến kí hiệu hoặc xâu kí tự xác định các ẩn số solve tìm kiếm các không điểm của các biểu thức Nếu không chỉ định các ẩn, các ẩn được xác định bởi hàm findsym,

Nếu không xác định được các không điểm giải tíchvà số phương trình bằng số

ẩn (số biến độc lập), lời giải số (numeric solution) sẽ được thử

Có 3 kiểu biến ra khác nhau cuả hàm solve Đối với phương trình có 1 biến ra là nghiệm tìm được, khi có nhiều không điểm (zeros) sẽ trả về vector kí kí hiệu Với hệ phương trình có số phương trình bằng số nghiệm, biến ra (nghiệm tìm được) được sắp xếp theo thứ tự chữ cái tên biến Đối với hệ phương trình và chỉ có 1 biến ra, solve trả về biến cấu trúc chứa các không điểm

Ví dụ:

Các không điểm của đa thức:

solve('x^2-x-6') cho các nghiệm

ans =

[ -2]

[ 3]

Các nghiệm của hệ phương trình:

[X,Y] = solve(x+y-1, x-y-2) cho các nghiệm

Trang 11

=

=+

06a5a

1vu

0vau

2

2 2

[a,u,v]=solve('a*u^2+v^2','u-v=1','a^2-5*a+6','a,u,v') trả về hệ nghiệm kí hiệu số sau

[ 1/3-1/3*i*2^(1/2)]

[ 1/4+1/4*i*3^(1/2)]

[ 1/4-1/4*i*3^(1/2)]

v =[ -2/3+1/3*i*2^(1/2)][ -2/3-1/3*i*2^(1/2)][ -3/4+1/4*i*3^(1/2)][ -3/4-1/4*i*3^(1/2)]da=double(a);du=double(u);dv=double(v);da,du,dv %hàm numvar=double(symvar) chuyển biến kí kiệu dạng số về số thực độ chính xác kép

dv = -0.6667 + 0.4714i -0.6667 - 0.4714i -0.7500 + 0.4330i -0.7500 - 0.4330iGiải phương trình ax2+bx+c=0:

1 biến, chẳng hạn 'x' Khi đó g là biến kí hiệu thỏa mãn g(f(x))=x

Sử dụng dangh này khi hàm f có nhiều tham số

compose(f,g,z) Trả lại hàm hợp f(g(z)) với f = f(x), g = g(y), và x,y là các biến

kí hiệu của f, g được hàm findsym xác định

Trang 12

compose(f,g,x,z) Trả về hàm hợp f(g(z)) và coi x là biến độc lập của f Do đó, nếu f = cos(x/t), thì compose(f,g,x,z) trả về cos(g(z)/t) còn compose(f,g,t,z) trả lại cos(x/g(z)).

compose(f,g,x,y,z) Trả về hàm hợp f(g(z)) và coi x là biến độc lập của f và y

là biến độc lập của g Với hàm f = cos(x/t) và g = sin(y/u),compose(f,g,x,y,z) trả về hàm cos(sin(z/u)/t), còn compose(f,g,x,u,z) trả về hàm cos(sin(y/z)/t)

Ví dụ:

syms x y z t u;

f = 1/(1 + x^2); g = sin(y); h = x^t; p = exp(-y/u);

compose(h,g,x,z) trả lại sin(z)^t

compose(h,p,x,y,z) trả lại exp(-z/u)^t

b Phép tính giới hạn.

Sử dụng hàm limit để tìm giới hạn của biểu thức kí hiệu

Cú pháp:

limit(F,x,a) Lấy giới hạn biểu thức kí hiệu F khi x->a

limit(F,a) Sử dụng findsym(F) để tìm biến độc lập và tìm giới hạn

limit(F,x,a,'right') hoặc limit(F,x,a,'left') Xác định hướng lấy giới hạn

Biểu thức toán học Câu lệnh matlab

)x(lim

0

)x(lim

a

)x(lim

a

)x(lim

a

)x(lim

)x(lim

h

)x()hx(lim

0 h

−+

Trang 13

Ví dụ: Tìm tiệm cận xiên của hàm

1x2

1x5x)x

+

++

bp = 9/4tcx1=ap*x+bp

x->-∞

an =

n = 1/2

bn = 9/4tcx2=an*x+bn

Ví dụ:Tìm giới hạn của biểu thức sau: sin(bx)

1e

0 x

diff(s,'v',n) và diff(s,n,'v') đều được chấp nhận

Matlab đưa ra hàm jacobian trả về ma trận jacobian của n hàm m biến, với các phần tử là các đạo hàm riêng

Cú pháp:

trong vector v Với ma trận có các phần tử (i,j) là đạo hàm riêng df(i)/dv(j) Lưu ý, khi

f là vô hướng, Jacobian của f là gradient của f Tương tự v có thể là vô hướng, khi đó

nó tương tự diff(f,v) Chú ý, nếu đối số đầu f nếu là vector cột, đối số thứ 2 v phải là vector hàng, Hơn nữa, khi định thức của Jacobian có biểu thức lượng giác phức tạp, nên sử dụng câu lệnh simple để thay thế và rút gọn

Ví dụ :

x = sym('x');

t = sym('t');

syms a y z u v;

A = [cos(a*x),sin(a*x);sin(a*x),cos(a*x)]

sẽ cho ma trận

A =

[ cos(a*x), sin(a*x)]

Trang 14

jacobian(u*exp(v),[u;v]) -> [ exp(v), u*exp(v)]

Xét biến đổi từ không gian Euclidean (x,y,z) sang toạ độ cầu (r,) cho bởi công thức biến đổi x=rcoscos, y = r cossin, và z=rsin Chý ý,tương ứng với góc nâng (elevation or latitude ) và là góc phương vị (azimuth or longitude)

Để xác định ma trận Jacobian, J, của biến đổi này, sử dụng hàm jacobian, dạng toán học của J là:

),,r

(

)z,y,

x

(

J

ϕλ

[ cos(l)*cos(f), r*sin(l)*cos(f), r*cos(l)*sin(f)]

[ cos(l)*sin(f), r*sin(l)*sin(f), r*cos(l)*cos(f)]

Ta có bảng tổng kết so sánh giữa diff và jacobian

f=exp(a*x+b)dx

Trang 15

)t,r(J

findsym s là biến sym (ma trận hoặc vô hướng) Nếu s là hằng số, tính phân theo biến số 'x'

sym

là các số thực kép hoặc các vô hướng kí hiệu

∫b

a

dx)x( a, b có thể âm, dương, -inf, inf, kí hiệu.int(f,a,b) hoặc int(f,x,a,b)2

2 x k

e)x(

Ví dụ:

syms x x1 alpha u t;

A = [cos(x*t),sin(x*t);-sin(x*t),cos(x*t)];

[cos(x*t)/x, sin(x*t)/x]

Tích phân với hằng số thực- Trong biểu thức tích phân có các hệ số hằng thay đổi,

ví dụ, hàm số (x)=e− ( kx )2, cung hình chuông sẽ dần tới 0 khi x dần đến ± đối với số

k thực bất kì Chương trình lõi (kernel) của Maple, không xác định các biểu thức x2

và k2 là các số dương Trái lại Maple giả thiết các biến kí hiệu x và k là bất định, nghĩa là chúng là các biến hình thức không có thuộc tính toán học Do đó, khi tính tích phân:

Trang 16

int(exp(-k^2*x^2),x = -inf inf)

Làm xuất hiện lỗi không xác định biểu thức tích phân.Để giải quyết lỗi này, phải gán thuộc tính cho biến k là thực hoặc dương:

e)y3x2(

) (1 f

dx)y,x(dx

) f

) y , x 2 g

) y , x g

dz)z,y,x(dydx

g2(x,y), với hình chiếu các mặt giới hạn bởi các đường đường f1(x),f2(x) với x đi từ a đến b

Trang 17

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

Toolbox Symbolic cung cấp hàm dsolve cho phép giải (hệ) phương trình vi phân thường (ordinary differential equations)

Cú pháp:

dsolve('eqn1','eqn2', ) -Giải các phương trình vi phân thường dạng kí hiệu có các điều kiện đầu Các phương trình hoặc điều kiện đầu có thể được nhóm với nhau, phân cách nhau bởi dấu phảy "," trong cùng một đối số vào

Mặc định, biến độc lập là 't' Biến độc lập có thể là các biến kí hiệu khác, được đặt ở sau cùng của đối số vào

Kí tự 'D' kí hiệu cho đạo hàm theo biến độc lập, thường kí hiệu Sau kí tự "D" là chữ

số cho cấp đạo hàm; ví dụ D2 là d^2/dt^2 Bất kì các kí tự theo sau toán tử đạo hàm 'D' được coi là các biến phụ thuộc (ẩn); ví dụ, D3y kí hiệu cho đạo hàm cấp 3 của y(t) Lưu ý là tên của các biến kí hiệu phụ thuộc phải có chứa chữ cái 'D'

Các điều kiện đầu được chỉ định bởi các phương trình dạng 'y(a)=b' hoặc 'Dy(a) = b' với y là biến phụ thuộc, a và b là các biến độc lập Nếu số phương trình điều kiện đầu ít hơn

số biến phụ thuộc, lời giải sẽ có các hằng tuỳ ý, C1, C2,

Có 3 kiểu biến ra Đối với phương trình 1 biến đầu ra là 1 biến chứa nghiệm, khi có nhiều nghiệm cho các biến phụ thuộc biến ra là 1 vector chứa các nghiệm này, Với hệ phương trình có số phương trình bằng số nghiệm, biến ra (nghiệm tìm được) được sắp xếp theo thứ tự bảng chữ cái Đối với hệ phương trình và có 1 biến ra, dsolve trả về cấu trúc chứa các nghiệm

Khi không tìm được nghiệm hiển, lời giải ẩn được tìm thử Khi lời giải ẩn trả về, sẽ có lời cảnh báo cho

ta biết nghiệm ẩn Khi cả nghiệm hiển và ẩn đều không tìm được sẽ có thông báo và trả về biến sym rỗng Trong một số hệ phương trình phi tuyến, biến ra sẽ là phương trình vi phân cấp thấp hơn hoặc là dạng tích phân.

Chú ý: dsolve cho phép giải cả bài toán Côsi và bài toán biên.

Bảng mô tả biến ra:

f')S.f, S.g, S.h

3 phương trình, biến cấu trúc ra có 3 thành phầnCác biến được sắp thứ tự chữ cái a z

Ví dụ:

x = dsolve('Dx = -a*x','x(0) = 1','s') trả về x= exp(-a*s)

y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') trả về y =

Trang 18

dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0')

S = dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')

S = dsolve('Du=v, Dv=w, Dw=-u','u(0)=0, v(0)=0, w(0)=1')

w = dsolve('D3w = -w','w(0)=1, Dw(0)=0, D2w(0)=0')

y = dsolve('D2y = sin(y)'); pretty(y)

Ví dụ 1:

Giải phương trình vi phân y'=1+y2

e)x(3dx

,e)t(y4dt

f

2 2

1)3(y,0)

0

(

y

),x(xydx

y

d

3 1 2

Trang 19

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

a Tính tổng, tích của vector và ma trận.

Tính tổng, tích các phần tử của vector, sử dụng các hàm sum và prod

Cú pháp: Tính tổng các phần tử.

phần tử của cột tương ứng trong X

hàng tương ứng trong X

Cú pháp: Tính tích các phần tử

phần tử của cột tương ứng trong ma trận

tương ứng của X

b Tính tổng của chuỗi số hữu hạn và vô hạn.

Để tính tổng hữu hạn và chuỗi số của dãy số kí hiệu, sử dụng hàm symsum

Cú pháp:

biến varsym chạy từ 0 đến varsym-1

∑n−1

0

)n, ,x(

∑q

p

)n(

11

1

xx1

Ngày đăng: 16/02/2014, 22:15

HÌNH ẢNH LIÊN QUAN

Bảng tóm tắt: - phần II Matlab symbolic
Bảng t óm tắt: (Trang 19)

TỪ KHÓA LIÊN QUAN

w