Tài liệu Hướng dẫn sử dụng MatLab trong môn Giải tích trình bày cách sử dụng Matlab để giải các bài toán trong Giải tích. Đây là tài liệu hay để các bạn giải toán nhanh và hiệu quả.


*

Hướng dẫn sử dụng MatLab trong môn Giải tíchMatlab là một hệ tính toán lớn và mạnh, được dùng phổ biến trong giảng dạy, nghiên cứu và làm việc thực tế. Tuy nhiên phần mềm này có bản quyền, tương đối cồng kềnh, có thể lên tới hàng gigabybes Tài liệu hướng dẫn chủ yếu là phần Help của chương trình. Ngoài ra có thể tìm đọc quyển sách Jeffery Cooper, A Matlab companion for multivariable calculus, Harcourt, 2001.Thông báo biến x, y là một biến kí hiệu (symbolic)syms x yNhập vào hàm f, ví dụ f(x)=x2­3x+1f=x^2­3*x+1Tính giá trị của f tại một điểm , chẳng hạn tại x=2subs(f,x,2)Tính giới hạn khi x dần đến hằng số alimit(f,x,a)Tính giới hạn khi x dần đến hằng số a bên trái hoặc phảilimit(f,x,a,’left’)limit(f,x,a,’right’)Tính giới hạn khi x dần đến +vô cùng hoặc –vô cùnglimit(f,x,Inf)limit(f,x,­Inf)Tính đạo hàmTính đạo hàm của hàm f theo biến xdiff(f,x)Khai triển Taylor hàm f tại điểm cụ thể x0 tới cấp cụ thể ntaylor(f,x0,n)Vẽ đồ thị hàm một biếnVẽ đồ thị hàm f, chẳng hạn với x từ 1 tới 2ezplot(f,1,2)Tích phân của hàm một biếnTính tích phân không xác định của hàm f theo biến xint(f,x)Tính tích phân xác định của hàm f theo biến x, với x từ 1 tới 2int(f,x,1,2)Nhập hàm nhiều biến ở dạng kí hiệuNhập vào một hàm nhiều biếnsyms x yf=x^2*y^3­3*x*y^2Tính giá trị của hàm hai biếnTính giá trị của f tại một điểm, chẳng hạn tại x=2, y=3subs(subs(f,x,2),y,3)Tính đạo hàm riêngTính đạo hàm riêng của f theo biến ydiff(f,y)Vẽ đồ thị hàm hai biếnVẽ đồ thị hàm f trên khoảng x từ 1 tới 2, y từ 3 tới 4ezsurf(f,<1,2,3,4>)Tính tích phân bộiTính tích phân của f trên hình hộp chữ nhật x từ 1 tới 2, y từ 3 tới 4:Đưa về tích phân lặp:int(int(f,x,1,2),y,3,4)Vẽ mặt cho bởi phương trình tham sốVí dụ vẽ mặt cầu x=sin(u)cos(v), y=sin(u)sin(v), z=cos(u), u từ 0 tới pi, v từ 0 tới 2pi:syms u vezsurf(sin(u)*cos(v),sin(u)*sin(v),cos(u),<0 pi 0 2*pi>)mẫu lệnh tổng quát làezsurf(x,y,z,)tham số thứ nhất biến thiên từ a tới b, tham số thứ hai biến thiên từ c tới d.Tính xấp xỉ tích phânTính xấp xỉ tích phân của hàm f (x) với x từ a tới b:Vì đây không còn là phép toán kí hiệu nữa mà là phép toán số (numerical), nên cần chuyển f thành một dạng hàm khác, gọi là inline.Ví dụ tích tích phân f(x)=e^(x^2) từ 0 tới 1:Nhập hàm f ở dạng inlinef=inline("exp(x.^2)")Chú ý có dấu chấm trước toán tử ^ (Matlab dùng nó để tính toán trên ma trận).Tính xấp xỉ tính phân của f:quad(f,0,1)Vẽ trường vectơ 2 chiềuVí dụ: Vẽ trường (P(x,y),Q(x,y)) với P(x,y)=2x+3y, Q(x,y)=3x^2­y^5 trên hình chữ nhật x từ ­1 tới 1, y từ ­2 tới 2.Nhập vào trường:P=inline("2*x+3*y","x","y")Q=inline("3*x^2­y^5","x","y")Cho biến x chạy từ ­1 tới 1, lấy 10 điểm chia; cho biến y chạy từ ­2 tới 2, lấy 10 điểm chia:x=linspace(­1,1,10)y=linspace(­2,2,10)Tạo một lưới các điểm ứng với các điểm chia trên:=meshgrid(x,y)Tính giá trị của trường tại các điểm chia này:p=P(X,Y)q=Q(X,Y)Vẽ các vectơ của trường tại các điểm này:quiver(X,Y,p,q)%%% vector%% các cách tạo một vectox = 0:0.1:1; % vecto gồm tất cả các phần tử từ 0 đến 1cách đều nhau 0.1y = linspace(1,10,20); % vecto tạo bởi 20 phần tử cách đều nhau từ 1 đến 10z = rand(10,1); % vecto ngẫu nhiên gồm 10 phần tử%% cho vecto A = <5 7 9 7 4 3>A = <5 7 9 7 4 3>;B1 = A(3); % lấy giá trị thứ 3B2 = A(1:5); % lấy giá trị từ 1 đến 5B3 = A(1:end); % lấy giá trị từ 1 đến cuối cùngB4 = A(1:end-1); % lấy giá trị từ 1 đến cuối cùng - 1B5 = A(6:-2:1); % lấy giá trị từ giảm dần 2 đơn vị từ 6 xuống 1B6 = A(1:2:6); % lấy giá trị từ tăng dần 2 đơn vị từ 1 lên 6B7 = sum(A); % tính tổng tất cả các phần tử%%% ma trậnA = <2 7 9 7;3 1 5 6;8 1 2 5>; % ma trận AB1 = size(A); % kích thước ma trậnB2 = A(2,3); % lấy phần tử hàng 2 cột 3B3 = A"; % ma trận chuyển vị của AB4 = A(:,<1 4>); % lấy cột 1 và cột 4B5 = A(:,1:4); % lấy các cột từ 1 đến 4B6 = A(<1 3>,:); % lấy hàng 1 và 3B7 = A(1:3,:); % lấy các hàng từ 1 đến 3B8 = A(<2 3>,<3 1>); % lấy hàng 2 và 3; cột 3,1B9 = A(:); % viết lại các phần tử thành 1 cộtH10 = ;% ma trận tạo bởi A và hàng cuối của AB11 = ; % ma trận tạo bởi A và ma trận congòm hàng 1, 2B12 = sum(A); % ma trận tạo bởi tổng tất cả các phần tử trong các cột của AB13 = sum(A,2); % ma trận tạo bởi tổng tất cả các phần tử trong các hàng của AB14 = reshape(A,2,6); % viết lại ma trận thành 2 hàng 6 cộtB15 = ; % ma trận tạo bởi A và ma trận <2 5 7 9>B16 = inv(B16); % ma trận nghịch đảo của AB17 = det(B16); % định thức của AB18 = rank(B16); % hạng của ma trận A%%% đa thứcA = <1 3 5 6>; % cho đa thức A bậc 3n1 = roots(A); % nghiệm của phương trình A = 0n2 = polyval(A,2); % giá trị của A tại 2B = <1 5 7 5>; % cho đa thức B bậc 3n3 = conv(A,B); % nhân 2 đa thứcn4 = poly(A); % tìm đa thức có các nghiệm là các phần tử của An5 = poly2sym(n4); % chuyển ma trận n4 về dạng đa thứcn6 = poly2sym(A); % chuyển ma trận A về dạng đa thứcC = sym2poly(n6); % chuyển đa thức n6 về dạng ma trận Cpretty(n5); % hiển thị dạng viết tay của đa thức n5%%% các công cụ tính toán trong toolbox symbolic%% tính đạo hàm (hàm diff)% tính đạo hàm của hàm y = sin(a*x^3)syms a x; % khai báo a,x là biến kiểu symbolic,đây là điều bắt bu ộcy = sin(a*x^3); % cho hàm yy1 = diff(y); % đạo hàm hàm y theo x (mặc định), hoặc viết diff(y,x)pretty(y1); % viết kết quả dưới dạng viết tayy2 = diff(y,a); % đạo hàm hàm y theo apretty(y2); % viết kết quả dưới dạng viết tayy3 = diff(y,2); % đạo hàm bậc 2 hàm y theo x (mặc định), hoặc viết diff(y,x,2)pretty(y3); % viết kết quả dưới dạng viết tay%% tính tích phân (hàm int)% tính tích phân của hàm z = x*sin(x)sym x; % khai báo x là biến kiểu symbolicz = x*sin(x); % cho hàm zz1 = int(z); % tích phân của z theo x (mặc định) hoặc viết int(z,x)pretty(z1); % viết kết quả dưới dạng viết tayz2 = int(z,0,1); % tích phân xác định từ 0 đến 1% hoặc viết int(f,x,0,1)%% tính giới hạn (hàm limit)% tính giới hạn hàm w = (1+x/n)^n, với n tiến ra vô cùngsyms n,x; % khai báo n, x là biến kiểu symbolic,đây là điều bắt bu ộcw = (1+x/n)^n; % cho hàm zlimit(w,n,inf); % giới hạn của w khi n tiến ra vô cùng% các ví dụl1 = limit(1/x); % giới hạn của 1/x với x mặc định tiến tới 0l2 = limit(1/x,x,0,"left"); % giới hạn của 1/x với x chạy tới 0-)l3 = limit(1/x,x,0,"right"); % giới hạn của 1/x với x chạy tới 0+)%% giải phương trình và hệ phương trìnhsyms x y; % khai báo x, y là biến kiểu symbolic,đây là điều bắt bu ộcx = solve("x^3+x^2+x+1"); % giải phương trình với biến xx = solve("x^2*y^2+x*y+1","x"); % giải phương trình với biến xy = solve("x^2*y^2+x*y+1","y"); % giải phương trình với biến y = solve("x^2+y^2=0","x*y=1"); % giải hệ phương trình% các phương trình, hệ phương trình dạng khác giải t ương t ự%% tính tổng của dãy số% tính tổng của s = 1+2+3+...+nsyms n; % khai báo x, y là biến kiểu symbolics1 = symsum(n+1); % tổng symbolic theo biến n chạy từ 0 tới n (mặc định) hoặcs1 = symsum(n,1,n); % tổng symbolic theo biến n chạy từ 1 tới n% tính tổng của s2 = 1+x+x^2+x^3+...+x^ns2 = symsum(x^n,n,0,n); % tổng symbolic theo biến n chạy từ 0 tới n%% tìm hàm ngược% tìm hàm ngược của hàm u = sin(x) và cos(xy)syms x y; % khai báo x, y là biến kiểu symbolicfinverse(sin(x)); % hàm ngược với biến mặc định xfinverse(cos(x*y),y); % hàm ngược với biến y%% biến đổi Laplace (hàm t, hàm biến đổi s)syms t x s a b; % khai báo các biến kiểu symbolicF1 = laplace(t); % biến đổi Laplace với biến mặc định t và kết quả là 1 hàm của sF2 = laplace(exp(-a*t),x); % biến đổi Laplace cho hàm ảnh là một hàm của x thay th ế s%% biến đổi Laplace ngượcF3 = ilaplace(1/((s+a)*(s+b))); % biến đổi Laplace ngược trả về hàm của tF4 = ilaplace(1/(s*(s+a)),x); % biến đổi Laplace ngược trả về hàm của x% ta còn có 2 dạng sau% laplace(f,y,x): biến đổi Laplace của 1 hàm biến y (thay thế m ặc đ ịnh t),% trả về 1 hàm biến x (thay thế mặc định s)% ilpalace(f,y,x): tương tự như trên%% biến đổi fourier (hàm x, hàm biến đổi w)syms x u w; % khai báo các biến kiểu symbolicF5 = fourier(exp(-x/2)); % biến đổi fourier cho kết quả là 1 hàm biến w (mặc định)F6 = fourier(exp(abs(-x)),u); % biến đổi fourier cho kết quả là 1 hàm biến u (thay thếcho w)%% biến đổi fourier ngượcF7 = ifourier(sin(x)*cos(2*x)); % biến đổi fourier ngược cho kết quả là 1 hàm của x(mặc định)F8 = ifourier(x^2-x-1,u); % biến đổi fourier ngược cho kết quả là 1 hàm của u% ta còn có 2 dạng sau% fourier(f,u,v): biến đổi fourier của hàm f theo biến u (thay th ế m ặc đ ịnh là x),% trả về 1 hàm biến v (thay thế mặc định w)% ifourier(f,u,v): tương tự như trên%% khai triển taylorsyms x y; % khai báo các biến kiểu symbolicF9 = taylor(sin(x)); % khai triển taylor theo biến xF10 = taylor(cos(x*y^2),x); % khai triển taylor theo biến xF11 = taylor(x^4+x^2+1,4,2); % khai triển taylor 4 số hạng đầu tiên 0, xung quanhđiểm x0 = 2F12 = taylor(x^3*y^2+x*y+1,5,y,1); % khai triển taylor 5 số hạng đầu tiên 0 theo biếny, xq điểm x0 = 1%% các hàm làm đơn giản hóa biểu thức% 1 - hàm collect: gom số hạng, biếnsyms x y; % khai báo các biến kiểu symbolicF1 = collect((x^3+x+1)*(x*sin(x))); % gom các số hạng theo biến x (mặc định)F2 = collect(x*y*(x+y^2+sin(x)),x); % gom các số hạng theo biến x% 2 - hàm expand: khai triển biểu thứcF3 = expand((x+4)*(x^7+x^3+6)+sin(2*x));% 3 - hàm factor: phân tích biểu thức thành thừa sốF4 = factor(x^8-y^8);F5 = factor(sym("143654645350"));% 4 - hàm horner: phân tích đa thức ra dạng th ừa sốF6 = horner(6+x+2*x^2+x^4);F7 = horner();% 5 - hàm numden: lấy tử số và mẫu số = numden((x+3)/(x*y+4));% 6 - hàm simplify va simple: làm tối giản hoá biểu thứcF8 = simplify(<(x^2+3*x+1)/(x+1),sqrt(16)>);F9 = simple(<(x^2+3*x+1)/(x+1),sqrt(16)>)Xuất nghiệm:>>A=2A= 2>>T=<‘X=’ num2str(A)>;>>disp(T)X=2>> setdiff(A,B) %các phần tử giống nhau của A Bans=13579>> setxor(A,B) %các phần tử khác nhauans=-98Ve:set(ezplot(t),"Color","green","LineWidth",1)Vẽ đồ thị đường thẳng: t=linspace(0,10*pi); Plot3(t,t+6,5-t);