Các lệnh cơ bản trong matlab giải tích

      20

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 thực hiện Matlab nhằm giải những bài toán vào Giải tích. Đây là tài liệu xuất xắc để 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 sản xuất một vectox = 0:0.1:1; % vecto gồm toàn bộ các bộ phận từ 0 đến 1cách mọi nhau 0.1y = linspace(1,10,20); % vecto tạo bởi 20 thành phần cách những nhau từ một đến 10z = rand(10,1); % vecto ngẫu nhiên tất cả 10 phần tử%% mang lại 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); % mang giá trị từ là 1 đến 5B3 = A(1:end); % rước giá trị từ một đến cuối cùngB4 = A(1:end-1); % đem giá trị từ một đến ở đầu cuối - 1B5 = A(6:-2:1); % lấy quý giá từ giảm dần 2 đơn vị từ 6 xuống 1B6 = A(1:2:6); % lấy cực hiếm từ tăng ngày một nhiều 2 solo 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); % form size ma trậnB2 = A(2,3); % lấy phần tử hàng 2 cột 3B3 = A"; % ma trận đưa 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ừ là 1 đến 4B6 = A(<1 3>,:); % lấy hàng 1 với 3B7 = A(1:3,:); % lấy những hàng từ là 1 đến 3B8 = A(<2 3>,<3 1>); % mang hàng 2 cùng 3; cột 3,1B9 = A(:); % viết lại các bộ phận 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 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 những cột của AB13 = sum(A,2); % ma trận tạo do tổng tất cả 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 bởi 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%%% nhiều thứcA = <1 3 5 6>; % mang đến đa thức A bậc 3n1 = roots(A); % nghiệm của phương trình A = 0n2 = polyval(A,2); % cực hiếm của A tại 2B = <1 5 7 5>; % đế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ó các nghiệm là các thành phần của An5 = poly2sym(n4); % chuyển ma trận n4 về dạng nhiều thứcn6 = poly2sym(A); % chuyển ma trận A về dạng đa 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ụ 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 đổi kiểu symbolic,đây là vấn đề bắt bu ộcy = sin(a*x^3); % mang lại 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 hiệu 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 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à trở nê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 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à trở nên 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% những ví dụl1 = limit(1/x); % giới hạn của 1/x với x mang định tiến tới 0l2 = limit(1/x,x,0,"left"); % số lượng giới hạn của 1/x cùng 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 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à trở nê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 biến xx = solve("x^2*y^2+x*y+1","x"); % giải phương trình với thay đổi xy = solve("x^2*y^2+x*y+1","y"); % giải phương trình với thay đổi 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ô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 kiểu symbolics1 = symsum(n+1); % tổng symbolic theo trở nên 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 phát triển thành n chạy từ là một 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 tự 0 cho tới n%% tra cứu hàm ngược% tìm kiếm hàm ngược của hàm u = sin(x) cùng cos(xy)syms x y; % khai báo x, y là đổi thay kiểu symbolicfinverse(sin(x)); % hàm ngược với đổi thay mặc định xfinverse(cos(x*y),y); % hàm ngược với trở thành y%% chuyển đổi Laplace (hàm t, hàm thay đổi s)syms t x s a b; % khai báo những biến kiểu dáng symbolicF1 = laplace(t); % chuyển đổi Laplace với đổi thay mặc định t và tác dụng là 1 hàm của sF2 = laplace(exp(-a*t),x); % biến hóa Laplace đến hàm hình ảnh là một hàm của x nắm 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): biến đổi Laplace của một hàm trở thành y (thay ráng m ặc đ ịnh t),% trả về 1 hàm phát triển thành x (thay cố gắng mặc định s)% ilpalace(f,y,x): tựa 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 các biến loại symbolicF5 = fourier(exp(-x/2)); % chuyển đổi fourier cho tác dụng là 1 hàm biến hóa w (mặc định)F6 = fourier(exp(abs(-x)),u); % đổi khác fourier cho hiệu quả là 1 hàm thay đổi u (thay thếcho w)%% chuyển đổi fourier ngượcF7 = ifourier(sin(x)*cos(2*x)); % chuyển đổi fourier ngược cho hiệu quả là 1 hàm của x(mặc định)F8 = ifourier(x^2-x-1,u); % biến hóa 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 hóa fourier của hàm f theo thay đổi u (thay th ế m ặc đ ịnh là x),% trả về 1 hàm phát triển thành v (thay nỗ lực mặc định w)% ifourier(f,u,v): giống như như trên%% triển khai taylorsyms x y; % khai báo những biến đẳng cấp symbolicF9 = taylor(sin(x)); % khai triển taylor theo đổi mới xF10 = taylor(cos(x*y^2),x); % khai triển taylor theo biến hóa 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); % triển khai taylor 5 số hạng trước tiên 0 theo biếny, xq điểm x0 = 1%% những hàm làm đơn giản 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 thứ hạng symbolicF1 = collect((x^3+x+1)*(x*sin(x))); % gom những số hạng theo đổi thay x (mặc định)F2 = collect(x*y*(x+y^2+sin(x)),x); % gom các số hạng theo đổi mới 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: đối chiếu biểu thức thành quá 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 mã số = numden((x+3)/(x*y+4));% 6 - hàm simplify va simple: làm về 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 bộ phận khác nhauans=-98Ve:set(ezplot(t),"Color","green","LineWidth",1)Vẽ đồ vật thị đường thẳng: t=linspace(0,10*pi); Plot3(t,t+6,5-t);