Trường Đại học Bách Khoa Tp Hồ Chí Minh Khoa Khoa học Ứng dụng Bộ môn Toán Ứng dụng BÀITẬPLỚNMÔNGIẢITÍCH Lớp MT1301 Nhóm L10-CA Giáo viên hướng dẫn: Nguyền Hồng Lộc TP Hồ Chí Minh, tháng 5/2014 I Nội dung đề tài Câu 1: Đề bài: z= a) Vẽ mặt Hyperbolic Paraboloid x2 y − a b2 y=z −x b) Vẽ mặt Hyperbolic Paraboloid với a, b nhập từ bàn phím Cơ sở lí thuyết: a) Nhập vào a, b Để vẽ mặt Hyperbolic Paraboloid ta cần chia lưới miền hình chiếu Hyperbolic - x2 y z= − a b Paraboloid miền tự lựa chọn Để cho đồ thị dễ nhìn ta chọn miền liên quan đến giá trị lớn a b Nhập hàm cần vẽ - x2 y z= − a b Sau vẽ đồ thị Hyperbolic Paraboloid Và thiết lập thuộc tính đồ thị b) Tương tự câu a, không cần nhập a b đồng thời vai trò y z đổi chỗ cho Miền vẽ đồ thị lựa chọn trước - Các lệnh cần dùng Matlab - Meshgrid chia lưới miền hình chiếu Surf vẽ đồ thị trường hợp không gian chiều Code chương trình: a) function n3b1a clf; disp('nhap a b thuoc z=x^2/a^2-y^2/b^2') a=input('nhap a= '); b=input('nhap b= '); c=[abs(a) abs(b)]; c=max(c); [x,y]=meshgrid(-c:.1:c); z=x.^2/a.^2-y.^2/b.^2; set(surf(x,y,z),'facecolor','b','edgecolor','non','facealpha' ,.3) xlabel('truc x'); ylabel('truc y'); zlabel('truc z'); end b) function n3b1b clf; [x,z]=meshgrid(-5:.1:5); y= -x.^2+z.^2; set(surf(x,y,z),'facecolor','b','edgecolor','non','facealpha' ,.3) xlabel('truc x'); ylabel('truc y'); zlabel('truc z'); end Kết a) - Command Windows >>n3b1a nhap a b thuoc z=x^2/a^2-y^2/b^2 nhap a= -5 nhap b= - Figure 1: b) - Command Windows >>n3b1b - Figure Câu 2: Đề bài: Nhập hàm cắt điểm phân biệt Nhập hàm Tính , với giới hạn Vẽ miền Cơ sở lí thuyết: - Muốn tính tích phân kép hàm ta cần xác định miền D đóng bị chặn mặt phẳng Oxy Từ áp dụng công thức để xác định giá tích phân Nhập vào ,sao cho cắt điểm phân biệt Tìm giao điểm , cắt điểm phân biệt ta tính tích phân miền D, với miền D miền giới hạn hai hàm - Vẽ miền D Các lệnh cần dùng Matlab: - unique: loại bỏ nghiệm trùng lấy giao điểm hai hàm - int: tính tích phân - char, strrep: xử lý chuỗi kí tự - fill: vẽ miền D - Code chương trình: function n3b4 syms x y real warning off x1=input('nhap ham x1(y)= '); x2=input('nhap ham x2(y)= '); f=input('nhap ham tinh tich phan f(x,y)= '); n=solve(x1-x2); n=unique(n); n=double(n); if length(n)~=2 disp('2 ham x1 va x2 khong cat tai diem phan biet') return end if double(subs((x1-x2),'y',(n(1)+n(2))/2)) > I=int(int(f,'x',x2,x1),'y',n(1),n(2)); ve(x1,x2,n(1),n(2)) else I=int(int(f,'x',x1,x2),'y',n(1),n(2)); ve(x2,x1,n(1),n(2)) end I=double(I); disp(['tich phan can tinh I= ' num2str(I)]) end function ve(x1,x2,a,b) x1=sym(x1);x1=[char(x1) '+0*y']; x2=sym(x2);x2=[char(x2) '+0*y']; y=linspace(a,b,25); x1=strrep(x1,'^','.^'); x1=strrep(x1,'*','.*'); xa=eval(x1); ya=y; y=linspace(a,b,25); x2=strrep(x2,'^','.^'); x2=strrep(x2,'*','.*'); x=eval(x2); xa=[xa x]; ya=[ya y]; fill(xa,ya,'r') grid on end Kết - Command Windows nhap ham x1(y)= y^2 nhap ham x2(y)= 3-2*y nhap ham tinh tich phan f(x,y)= 9*x^2+y^3 tich phan can tinh I= 1486.019 - Figure: Câu 3: Đề bài: Tính với S mặt hướng phía mặt cầu cách dùng công thức Ostrogratxki-Gauss Vẽ giao tuyến, pháp véc tơ với mặt cong chứa (C) điểm M0(x0,y0) nhập từ bàn phím Cơ sở lí thuyết: - Từ tích phân mặt loại hai , sử dụng công thức Ostrogratxki-Gauss ta đưa tích phân cần tính tích phân: với Ω miền đóng bị chặn Dấu lấy tích phân phụ thuộc vào mặt S hướng hay hướng vào Sau đưa tích phân bội ba, ta áp dụng phương pháp đổi biến, đưa tọa độ trụ cầu để tính - Trong tập này, mặt S chưa kín nên ta cần thêm vào mặt thích hợp để mặt S trở thành kín Cụ thể ta thêm vào mặt z=0 vào để tính, sau trừ phần mặt phần thêm vào - Vẽ pháp véc tơ, ta nhập tọa độ điểm M0(x0,y0), xác định tọa độ vẽ pháp véc tơ điểm M0 Với F=x2+y2+z2-4, Các lệnh cần dùng Matlab: - diff : dùng để tính đạo hàm Int: tính tích phân Surf, plot3: vẽ mặt bậc pháp véc tơ mặt M0 Code chương trình: function n3b7 clc disp('nhap lan luoc cac toa cua M0 thuoc mat cong y^2+x^2+z^2=4 :') x0=input('x0= '); y0=input('y0= '); z0=sqrt(4-x0^2-y0^2); syms x y z real syms t phi p real P=y+z; Q=x-z; R=z+1; f=z^2+y^2+x^2-4; n=[diff(f,'x') diff(f,'y') diff(f,'z')]; g=diff(P,'x')+diff(Q,'y')+diff(R,'z'); x=p*cos(phi)*sin(t); y=p*sin(t)*sin(phi); z=p*cos(t); g=eval(g); V=int(int(int(g*p^2*sin(t),'p',0,2),'t',0,pi/2),'phi',0,2*pi); V1=-4*pi; V=V-V1; V=double(V); disp(['tich phan can tinh la V= ' num2str(V) ]) [x, y,~] = ellipsoid(0,0,0,2,2,2,100); z=sqrt(4-x.^2-y.^2); z(imag(z)>0)=0; set(surf(x,y,z),'facecolor','b','edgecolor','non','facealpha',.3 ) hold on x=x0;y=y0;z=z0; n=eval(n); t=linspace(0,1,20); x=n(1,1)*t+x; y=n(1,2)*t+y; z=n(1,3)*t+z; plot3(x,y,z,'color','r') hold off rotate3d on axis([-3 -3 -1 3]) disp('duong mau la vector phap tuyen :)') end Kết - Command Windows Nhap lan luot cac toa cua M0 thuoc mat cong x^2+y^2+z^2=4: x0=1 y0=1 tich phan can tinh la V=29.3215 duong mau la vector phap tuyen - Figure Câu 4: Đề bài: Tìm tổng riêng Sn tổng S (nếu có) chuỗi số sau, đưa kết luận Hội tụ hay Phân kỳ chuỗi: Cơ sở lý thuyết: - {Sn}= gọi chuỗi số - Sn=a1+a2+a3+…+an , n Є N gọi tổng riêng phần với an số hạng tổng quát - Khi {Sn} có giới hạn hữu hạn n ta gọi chuỗi hội tụ, ngược lại phân kì - = gọi tổng chuỗi Các lệnh cần dùng Matlab - symsum: dùng tính tổng chuỗi số Code chương trình function n3bc syms n f=atan(1/(n^2+n+1)); Sn=symsum(f,0,'n'); disp(['Tong rieng phan Sn = ' char(Sn)]) S=symsum(f,0,inf); S=double(S); if (S==inf || S==-inf || S == NaN) disp('Chuoi phan ki, khong ton tai tong.') else disp(['Chuoi hoi tu va co tong S = ' num2str(S)]) end end Kết - Command Windows Tong rieng phan Sn = sum(atan(1/(n^2+n+1)),n = n) Chuoi hoi tu va co tong S = 1.5708 II Tài liệu tham khảo Đỗ Công Khanh, Toán cao cấp Giảitích hàm nhiều biến-Phương trình vi phân, NXB Đại học Quốc gia TP Hồ Chí Minh 10 ... '+0*y']; x2=sym(x2);x2=[char(x2) '+0*y']; y=linspace(a,b ,25 ); x1=strrep(x1,'^','.^'); x1=strrep(x1,'*','.*'); xa=eval(x1); ya=y; y=linspace(a,b ,25 ); x2=strrep(x2,'^','.^'); x2=strrep(x2,'*','.*');... V=int(int(int(g*p ^2* sin(t),'p',0 ,2) ,'t',0,pi /2) ,'phi',0 ,2* pi); V1=-4*pi; V=V-V1; V=double(V); disp(['tich phan can tinh la V= ' num2str(V) ]) [x, y,~] = ellipsoid(0,0,0 ,2, 2 ,2, 100); z=sqrt(4-x. ^2- y. ^2) ; z(imag(z)>0)=0;... n=solve(x1-x2); n=unique(n); n=double(n); if length(n)~ =2 disp( '2 ham x1 va x2 khong cat tai diem phan biet') return end if double(subs((x1-x2),'y',(n(1)+n (2) ) /2) ) > I=int(int(f,'x',x2,x1),'y',n(1),n (2) );