Tính tích phân trong matlab

     

Tài liệu Hướng dẫn sử dụng MatLab trong môn Giải tích trình diễn cách áp dụng Matlab để giải các bài toán trong Giải tích. Đây là tài liệu xuất xắc để 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 thành một vectox = 0:0.1:1; % vecto gồm toàn bộ các phần tử từ 0 mang lại 1cách gần như nhau 0.1y = linspace(1,10,20); % vecto tạo vì chưng 20 thành phần cách hầu như nhau từ là một đến 10z = rand(10,1); % vecto ngẫu nhiên có 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 quý hiếm thứ 3B2 = A(1:5); % mang giá trị từ một đến 5B3 = A(1:end); % rước giá trị từ 1 đến cuối cùngB4 = A(1:end-1); % rước giá trị từ là một đến sau cuối - 1B5 = A(6:-2:1); % lấy cực hiếm từ sút dần 2 đơn vị từ 6 xuống 1B6 = A(1:2:6); % lấy giá trị từ tăng nhiều 2 đối chọi vị từ một 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 bộ phận hàng 2 cột 3B3 = A"; % ma trận chuyển vị của AB4 = A(:,<1 4>); % mang cột 1 cùng cột 4B5 = A(:,1:4); % lấy các cột từ là một đến 4B6 = A(<1 3>,:); % lấy hàng 1 và 3B7 = A(1:3,:); % lấy những hàng từ là 1 đến 3B8 = A(<2 3>,<3 1>); % đem hàng 2 với 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 vị A và hàng cuối của AB11 = ; % ma trận tạo vày A cùng ma trận congòm mặt hàng 1, 2B12 = sum(A); % ma trận tạo vì chưng 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 bởi tổng toàn bộ các thành phần trong những hàng của AB14 = reshape(A,2,6); % viết lại ma trận thành 2 mặt hàng 6 cộtB15 = ; % ma trận tạo vì chưng A cùng 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%%% nhiều thứcA = <1 3 5 6>; % mang lại đa thức A bậc 3n1 = roots(A); % nghiệm của phương trình A = 0n2 = polyval(A,2); % quý hiếm của A trên 2B = <1 5 7 5>; % cho đa thức B bậc 3n3 = conv(A,B); % nhân 2 nhiều 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); % gửi ma trận n4 về dạng đa thứcn6 = poly2sym(A); % đưa ma trận A về dạng nhiều thứcC = sym2poly(n6); % đưa đ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%%% những công cụ thống kê giám sát 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 chuyển kiểu symbolic,đây là vấn đề bắt bu ộcy = sin(a*x^3); % đế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 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à đổi mới kiểu symbolicz = x*sin(x); % mang lại 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 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 số lượng giới hạn hàm w = (1+x/n)^n, cùng với n tiến ra vô cùngsyms n,x; % khai báo n, x là biến hóa kiểu symbolic,đây là vấn đề bắt bu ộcw = (1+x/n)^n; % cho hàm zlimit(w,n,inf); % số lượng giới hạn của w lúc n tiến ra vô cùng% các ví dụl1 = limit(1/x); % số lượng giới hạn của 1/x cùng với x mặc định tiến cho tới 0l2 = limit(1/x,x,0,"left"); % số lượng giới hạn của 1/x với x chạy cho 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 kiểu symbolic,đây là vấn đề bắt bu ộcx = solve("x^3+x^2+x+1"); % giải phương trình với vươn lên là xx = solve("x^2*y^2+x*y+1","x"); % giải phương trình với biến chuyển xy = solve("x^2*y^2+x*y+1","y"); % giải phương trình với trở nê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 hàng số% tính tổng của s = 1+2+3+...+nsyms n; % khai báo x, y là biến đổi kiểu symbolics1 = symsum(n+1); % tổng symbolic theo vươn lên là n chạy trường đoản cú 0 tới n (mặc định) hoặcs1 = symsum(n,1,n); % tổng symbolic theo biến hóa n chạy từ là 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 đổi thay n chạy trường đoản cú 0 tới n%% search 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 biến đổi mặc định xfinverse(cos(x*y),y); % hàm ngược với phát triển thành y%% thay đổi Laplace (hàm t, hàm thay đổi s)syms t x s a b; % khai báo những biến hình trạng symbolicF1 = laplace(t); % biến hóa Laplace với thay đổi mặc định t và công dụng là 1 hàm của sF2 = laplace(exp(-a*t),x); % biến hóa Laplace đến hàm ảnh là một hàm của x rứa th ế s%% đổi khác Laplace ngượcF3 = ilaplace(1/((s+a)*(s+b))); % chuyển đổi Laplace ngược trả về hàm của tF4 = ilaplace(1/(s*(s+a)),x); % chuyển đổi Laplace ngược trả về hàm của x% ta còn có 2 dạng sau% laplace(f,y,x): chuyển đổi Laplace của 1 hàm biến y (thay nạm m ặc đ ịnh t),% trả về 1 hàm đổi thay x (thay vắt mặc định s)% ilpalace(f,y,x): giống như như trên%% biến hóa fourier (hàm x, hàm đổi khác w)syms x u w; % khai báo những biến đẳng cấp symbolicF5 = fourier(exp(-x/2)); % thay đổi fourier cho hiệu quả là 1 hàm phát triển thành w (mặc định)F6 = fourier(exp(abs(-x)),u); % biến hóa fourier cho công dụng là 1 hàm biến chuyển u (thay thếcho w)%% thay đổi fourier ngượcF7 = ifourier(sin(x)*cos(2*x)); % chuyể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); % thay đổi fourier ngược cho tác dụng là 1 hàm của u% ta còn có 2 dạng sau% fourier(f,u,v): chuyển đổi fourier của hàm f theo thay đổi u (thay th ế m ặc đ ịnh là x),% trả về 1 hàm biến v (thay gắng mặc định w)% ifourier(f,u,v): tựa như như trên%% khai triển taylorsyms x y; % khai báo những biến kiểu dáng symbolicF9 = taylor(sin(x)); % triển khai taylor theo đổi thay xF10 = taylor(cos(x*y^2),x); % triển khai taylor theo biến đổi xF11 = taylor(x^4+x^2+1,4,2); % triển khai taylor 4 số hạng thứ nhất 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%% những 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 những biến đẳng cấp 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 đổi mới x% 2 - hàm expand: triển khai biểu thứcF3 = expand((x+4)*(x^7+x^3+6)+sin(2*x));% 3 - hàm factor: đối chiếu 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: đem tử số và mẫu 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 phần tử giống nhau của A Bans=13579>> setxor(A,B) %các bộ phận khác nhauans=-98Ve:set(ezplot(t),"Color","green","LineWidth",1)Vẽ trang bị thị đường thẳng: t=linspace(0,10*pi); Plot3(t,t+6,5-t);