giáo trình matlab
Trang 1phầ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 2procedures) 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 3Chuyể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 4digits-Đặ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 5Cá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 6findsym(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 7subs(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 8symplify Đơ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 9Chuyể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 10chươ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 12compose(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 13Ví 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 14jacobian(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=rcoscos, y = r cossin, 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 16int(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 172.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 18dsolve('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 192.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