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 áp dụng Matlab để giải các bài toán vào Giải tích. Đây là tài liệu giỏi để các bạn giải toán cấp tốc 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%% những cách tạo nên một vectox = 0:0.1:1; % vecto gồm toàn bộ các thành phần từ 0 đến 1cách đều nhau 0.1y = linspace(1,10,20); % vecto tạo vày 20 bộ phận cách rất nhiều nhau từ một đến 10z = rand(10,1); % vecto ngẫu nhiên bao 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 cực hiếm thứ 3B2 = A(1:5); % đem giá trị từ là 1 đến 5B3 = A(1:end); % lấy giá trị từ là 1 đến cuối cùngB4 = A(1:end-1); % lấy giá trị từ 1 đến ở đầu cuối - 1B5 = A(6:-2:1); % lấy cực hiếm từ bớt dần 2 đơn vị từ 6 xuống 1B6 = A(1:2:6); % lấy cực hiếm từ tăng nhiều 2 đối chọi vị từ là một lên 6B7 = sum(A); % tính tổng toàn bộ 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); % size 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>); % rước cột 1 và cột 4B5 = A(:,1:4); % lấy những cột từ là 1 đến 4B6 = A(<1 3>,:); % lấy hàng 1 với 3B7 = A(1:3,:); % lấy các hàng từ 1 đến 3B8 = A(<2 3>,<3 1>); % đem hàng 2 và 3; cột 3,1B9 = A(:); % viết lại các thành phần thành 1 cộtH10 = ;% ma trận tạo do A với hàng cuối của AB11 = ; % ma trận tạo vì A cùng ma trận congòm sản phẩm 1, 2B12 = sum(A); % ma trận tạo vị tổng tất cả các thành phần trong các cột của AB13 = sum(A,2); % ma trận tạo vì chưng tổng toàn bộ các thành phần 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 vì A với ma trận <2 5 7 9>B16 = inv(B16); % ma trận nghịch hòn đả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); % quý giá của A tại 2B = <1 5 7 5>; % mang đến đa thức B bậc 3n3 = conv(A,B); % nhân 2 đa thứcn4 = poly(A); % tìm đa thức có những nghiệm là các bộ phận của An5 = poly2sym(n4); % gửi ma trận n4 về dạng đa thứcn6 = poly2sym(A); % gửi ma trận A về dạng đa thứcC = sym2poly(n6); % gửi đa thức n6 về dạng ma trận Cpretty(n5); % hiển thị dạng viết tay của nhiều thức n5%%% những công cụ đo lường 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à đổi mới kiểu symbolic,đây là điều bắt bu ộcy = sin(a*x^3); % mang đến 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 tác dụng dưới dạng viết tayy2 = diff(y,a); % đạo hàm hàm y theo apretty(y2); % viết công dụng 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 tác dụng 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à đổi mới 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 hiệu quả dưới dạng viết tayz2 = int(z,0,1); % tích phân khẳng định từ 0 cho 1% hoặc viết int(f,x,0,1)%% tính số lượng giới hạn (hàm limit)% tính số lượng 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 đổi kiểu symbolic,đây là vấn đề bắt bu ộcw = (1+x/n)^n; % mang lại 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 khoác định tiến cho 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"); % số lượng giới hạn của 1/x cùng với x chạy tới 0+)%% giải phương trình với hệ phương trìnhsyms x y; % khai báo x, y là biến đổi 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 chuyển xx = solve("x^2*y^2+x*y+1","x"); % giải phương trình với biến đổi xy = solve("x^2*y^2+x*y+1","y"); % giải phương trình với biến chuyển y = solve("x^2+y^2=0","x*y=1"); % giải hệ phương trình% những phương trình, hệ phương trình dạng không giống 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 chuyển kiểu symbolics1 = symsum(n+1); % tổng symbolic theo đổi thay n chạy trường đoản cú 0 cho tới n (mặc định) hoặcs1 = symsum(n,1,n); % tổng symbolic theo phát triển thành 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 trường đoản cú 0 tới n%% tra cứu hàm ngược% kiếm 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à trở nên kiểu symbolicfinverse(sin(x)); % hàm ngược với thay đổi mặc định xfinverse(cos(x*y),y); % hàm ngược với đổi mới y%% chuyển đổi Laplace (hàm t, hàm chuyển đổi s)syms t x s a b; % khai báo những biến kiểu dáng symbolicF1 = laplace(t); % biến hóa Laplace với thay đổi mặc định t và hiệu quả là 1 hàm của sF2 = laplace(exp(-a*t),x); % biến đổi Laplace đến hàm hình ảnh là một hàm của x rứa th ế s%% thay đổ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); % thay đổi Laplace ngược trả về hàm của x% ta còn tồn tại 2 dạng sau% laplace(f,y,x): chuyển đổi Laplace của một hàm biến y (thay rứa m ặc đ ịnh t),% trả về 1 hàm thay đổi x (thay cố kỉnh mặc định s)% ilpalace(f,y,x): giống như như trên%% biến hóa fourier (hàm x, hàm biến đổi w)syms x u w; % khai báo những biến kiểu dáng symbolicF5 = fourier(exp(-x/2)); % chuyển đổi fourier cho kết quả là 1 hàm biến hóa w (mặc định)F6 = fourier(exp(abs(-x)),u); % biến hóa fourier cho công dụng là 1 hàm vươn lên là u (thay thếcho w)%% biến đổi fourier ngượcF7 = ifourier(sin(x)*cos(2*x)); % thay đổi fourier ngược cho công dụng là 1 hàm của x(mặc định)F8 = ifourier(x^2-x-1,u); % chuyển đổi fourier ngược cho công dụng là 1 hàm của u% ta còn tồn tại 2 dạng sau% fourier(f,u,v): chuyển đổi fourier của hàm f theo biến u (thay th ế m ặc đ ịnh là x),% trả về 1 hàm vươn lên là v (thay nỗ lực mặc định w)% ifourier(f,u,v): tựa như như trên%% triển khai taylorsyms x y; % khai báo các biến hình dạng symbolicF9 = taylor(sin(x)); % triển khai taylor theo biến chuyển xF10 = taylor(cos(x*y^2),x); % khai triển taylor theo đổi thay xF11 = taylor(x^4+x^2+1,4,2); % khai triển taylor 4 số hạng trước tiên 0, xung quanhđiểm x0 = 2F12 = taylor(x^3*y^2+x*y+1,5,y,1); % triển khai taylor 5 số hạng trước tiên 0 theo biếny, xq điểm x0 = 1%% các hàm làm dễ dàng 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 thứ hạng symbolicF1 = collect((x^3+x+1)*(x*sin(x))); % gom những số hạng theo biến đổi x (mặc định)F2 = collect(x*y*(x+y^2+sin(x)),x); % gom những số hạng theo trở thành 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: so sánh 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 nhiều thức ra dạng th ừa sốF6 = horner(6+x+2*x^2+x^4);F7 = horner();% 5 - hàm numden: đem tử số và mẫu mã số = numden((x+3)/(x*y+4));% 6 - hàm simplify va simple: làm buổi 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 thành phần giống nhau của A Bans=13579>> setxor(A,B) %các thành phần khác nhauans=-98Ve:set(ezplot(t),"Color","green","LineWidth",1)Vẽ đồ dùng thị đường thẳng: t=linspace(0,10*pi); Plot3(t,t+6,5-t);