Tìm phương trình mặt 0phẳng tiếp diện và phương trình pháp tuyến với mặt tại điểm M Vẽ mặt cong , mặt 0.. phẳng tiếp diện, pháp tuyến với mặt cong tại điểm M .0Giải:Code matlab... Sau đó
Trang 1ĐẠI HỌC QUỐC GIA TPHCMTRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO BÀI TẬP LỚNMôn: Giải tích 2
Đề tài: Bài số 2Lớp : L23
GVHD: _Lê Xuân Đại _ Lớp:
1 2210725 Võ Phát Đạt2 2213975 Phan Tiến Vinh3 2210802 Nguyễn Minh Đức4 2213056 Nguyễn Hoàng Tân5 2011185 Đỗ Trọng Hiếu
Trang 2Câu 1: Vẽ mặt ellipsolid
Với a,b,c nhập từ bàn phím.
Giải:Code matlab
-Dòng 10-15:
+ S d ng l nh surf đ veẽ m t ellipsoid trến tr c t a đ 3D ử ụ ệ ể ặ ụ ọ ộ+ L nh axis equal giúp cho tr c x, y và z có t l nh nhau ệ ụ ỷ ệ ư
+ L nh ttle, xlabel, ylabel và zlabel đệ ược s d ng đ đ t tếu đếằ và tến tr c cho bi u đốằ.ử ụ ể ặ ụ ể
Giải bài toán bằng matlab
Trang 3Câu 2: Nhập hàm và điểm M thuộc mặt cong từ bàn phím Tìm phương trình mặt 0phẳng tiếp diện và phương trình pháp tuyến với mặt tại điểm M Vẽ mặt cong , mặt 0 phẳng tiếp diện, pháp tuyến với mặt cong tại điểm M 0
Giải:Code matlab
Trang 4Giải thích code
-Dòng 2: Khai báo các biếến ký hi u x,y,z bằằng l nh ệ ệ syms
-Dòng 3: Nh p hàm z(x,y) t bàn phím và l u giá tr đó vào biếến z_func.ậ ừ ư ị
-Dòng 6-8: Nh p t a đ đi m Mậ ọ ộ ể 0 t bàn phím và l u vào các biếến xừ ư 0, y , z 00
-Dòng 11-13:
+ Tính gradient c a hàm z(x,y) và l u giá tr đó vào biếến grad.ủ ư ị
+ Tính vector pháp tuyếến c a m t cong t i đi m Mủ ặ ạ ể 0 và l u vào biếến normal.ư
-Dòng 14: Tính phương trình c a m t ph ng tếếp di n v i m t cong t i đi m Mủ ặ ẳ ệ ớ ặ ạ ể 0, s d ng biếếnử ụnormal và t a đ đi m Mọ ộ ể 0, l u giá tr đó vào biếến plane_eqn.ư ị
-Dòng 16-17: In ra màn hình phương trình c a m t ph ng tếếp di n.ủ ặ ẳ ệ
-Dòng 19-20: In ra màn hình phương trình pháp tuyếến c a m t cong.ủ ặ
-Dòng 23-24: T o lạ ướ ọi t a đ X,Y trến m t vùng xung quanh đi m Mộ ộ ể 0 và tnh giá tr Z c a m t ị ủ ặcong t i đi m đó.ạ ể
-Dòng 25-27: Chuy n X,Y,Z t d ng bi u th c ký hi u sang d ng sốế và l u vào các biếến tể ừ ạ ể ứ ệ ạ ư ương ng.
-Dòng 29-32: Veẽ m t cong, m t ph ng tếếp di n và vector pháp tuyếến lến m t đốằ th 3D ặ ặ ẳ ệ ộ ị
Trang 5+ Hàm fimplicit3 ượ ử ụ đ c s d ng đ veẽ m t ph ng tếếp di nể ặ ẳ ệ+ Hàm quiver3 được s d ng đ veẽ vector pháp tuyếến ử ụ ể
+ L nh ệ hold on đ c s d ng đ gi l i đốằ th hi n t i đ có th thếm các yếếu tốế khác vào đốằượ ử ụ ể ữ ạ ị ệ ạ ể ểth ị
-Dòng 33-36: Thếm nhãn cho tr c và tếu đếằ cho đốằ th ụ ị
Ví dụ
VD1: Cho hàm z(x,y)= -x2-y2 và điểm M0(1,2,-5)
Sau khi chạy chương trình, ở cửa sổ command window sẽ hiện lên dòng lệnh:
Ta nhập hàm z vào Sau đó chương trình sẽ yêu cầu ta nhập tọa độ x,y của điểm M 0Ta tiếp tục nhập vào Sau khi đã nhập hết, matlab sẽ cho ra phương trình mặt phẳng tiếp diện và phương trình pháp tuyến như sau:
Và cuối cùng là ta thu được hình vẽ:
Giải tay bài vd1:
f’x = ∂z/∂x = -2x f’x(M0) = -2(1) = -2f’y = ∂z/∂y = -2y f’y(M0) = -2(2) = -4
Trang 6Giá trị của hàm z tại điểm M là z = z(1, 2) = -1^2 - 2^2 = -5 Do đó, phương trình 00mặt phẳng tiếp diện với mặt cong z = z(x, y) tại điểm M0 có dạng:
-2(x - 1) - 4(y - 2) - (z+5) = 0 -2x - 4y - z + 5 = 0
Phương trình pháp tuyến của mặt cong z = z(x, y) tại điểm M là:0
Vậy, phương trình mặt phẳng tiếp diện với mặt cong z = z(x, y) tại điểm M0 là -2x - 4y –z+5=0 và phương trình pháp tuyến của mặt cong tại điểm M0 là
VD2: Cho hàm z(x,y)=-x2+(y-3)2 và điểm M0(1,2,0)
Sau khi chạy chương trình, ở cửa sổ command window sẽ hiện lên dòng lệnh:
Ta nhập hàm z vào Sau đó chương trình sẽ yêu cầu ta nhập tọa độ x,y của điểm M 0Ta tiếp tục nhập vào Sau khi đã nhập hết, matlab sẽ cho ra phương trình mặt phẳng tiếp diện và phương trình pháp tuyến như sau:
Và cuối cùng là ta thu được hình vẽ:
Trang 7Giải tay bài vd2:
f’x = ∂z/∂x = -2x f’x(M0) = -2(1) = -2f’y = ∂z/∂y = 2y-6 f’y(M0) = 2(2)-6 = -2
Giá trị của hàm z tại điểm M là z = z(1, 2) = -1^2 +(2-3)^2 = 0 Do đó, phương trình 00mặt phẳng tiếp diện với mặt cong z = z(x, y) tại điểm M0 có dạng:
-2(x - 1) - 2(y - 2) - z = 0 -2x - 2y - z + 6 = 0
Phương trình pháp tuyến của mặt cong z = z(x, y) tại điểm M là:0
Vậy, phương trình mặt phẳng tiếp diện với mặt cong z = z(x, y) tại điểm M0 là -2x - 2y - z + 6 = 0 và phương trình pháp tuyến của mặt cong tại điểm M0 là
Câu 3 Nhập hàm f (x, y), điều kiện là 1 ellip tùy ý Tìm cực trị của hàm f (x, y) với điều kiện (x, y) thỏa mãn phương trình ellip Vẽ đồ thị minh họa trên đó chỉ ra điểm cực trị nếu có.
Cơ sở lý thuyết:
PHƯƠNG PHÁP LAGRANGE TÌM CỰC TRỊ CÓ ĐIỀU KIỆN
Nếu hàm số z = f (x, y) có cực trị có điều kiện tại điểm (x0, y0) với điều kiện (x, y) ϕ= 0 và ∇ϕ(x0, y0) 0 thì tồn tại số λ thỏa mãn hệ
()+λ′ () = 0 (1)
Trang 8()+λ() = 0 (2)ϕ(x, y) = 0 (3)
Giải hệ phương trình được:
Khỏa sát từng điểm dừng() = ()d d+2(()dxdy+( (())d
Nếu) () > 0 thì P() là điểm cực tiểu có điều kiện Nếu () < 0 thì P() là điểm cực đại có điều kiện.
Nếu () không xác định dấu thì P(xi , yi) không là điểm cực trị.Ta có thể xét dấu của định thức sau đây
Cho f(x,y)= và ellip
Xác định cực trị trên miền ellip
Sử dụng khai triển LAGRANGE lập hàm LL= f(x,y)+ λ
()+λ′ () = 0 (1)()+λ() = 0 (2)ϕ(x, y) = 0 (3)Ta có =0 =0ϕ(x, y)=
Giải hệ phương trình ta đượcVới
Với
Trang 9Với được P3(Với được P3(
Lập ma trận A= =
Tại P1 -detA= vậy đây là cực trị có điều kiệnTại P2 -detA= vậy đây là cực trị có điều kiệnTại P3 -detA= vậy đây là cực trị có điều kiệnTại P4 -detA= vậy đây là cực trị có điều kiệnVậy có 4 cực trị
Ta sử dụng phần mềm matlab để tính toán và vẽ lại các đường mức tìm cực trị như sau:
Trang 10Đây là phần code lập để tạo ma trận A như lí thuyết
Giải tìm cực trị giá trị cực trị như sau
Trang 11Code vẽ đồ thị
Trang 12Hình vẽ cực trị
Cách nhập hàm số như sau
Trang 13Đánh giá điểm mạnh và yếu
Ưu điểm: Dễ code bởi vì sử dụng lệnh đơn giản, nhập hàm đơn giản, sử dụng ellip chotừ trước
Nhược điểm: Chưa có hình vẽ 3D độ chính xác cao
Câu 4 Nhập hàm y = y (x), y = y (x) từ bàn phím sao cho đồ thị của 2 hàm này 12cắt nhau tại 2 điểm phân biệt Cho D là miền giới hạn bởi 2 đường cong y , y 12Nhập hàm f (x, y) Tính I = Vẽ miền D.
Bài giải :
-Cơ sở lý thuyết:
Phương pháp tích phân kép theo định lý Fubini:
Cho hàm Và đối với
-Phần code matlab:
clc;clear ;all
syms x y1 y2 a b p pl k r ym y x1 x2 m q f1 f2 l w n n1 d1d2 ;
w=input(ậ 'Nh p lo i hình tính:'ạ );
switch w case 1;
f1=input(ậ ươ'Nh p ph ng trình y1 (Ch nh p đa th c) ='ỉ ậ ứ );f2=input(ậ 'Nh p phươ ng trình y2 =');
Trang 14f=input(ậ ươ'Nh p ph ng trình f(x,y) =');n=vpasolve(f1-f2==0,x);
if po>2 for o=1:po
if imag(n(o,1))~=0 n(o,1) = NaN; end;
end; end;
x1=round(min(n),4,'decimals'); x2=round(max(n),4,'decimals');
disp('C n đ u tiên c a mi n D t o b i đ ng y1 và y2 theo
disp('Tích phân kép c a hàm f(x,y) theo mi n D :'ủ ề );disp(t);
disp('Làm tròn c a tích phân kép f(x,y):'ủ );disp(i);
grid ;onfplot(f1, );'r'hold ;onfplot(f2, );'b'hold off;
title(ề 'Mi n D c a đủ ườ ng y1 và y2 :','color' 'r' 'fontweight' 'bold', , , );
xlabel({'Tr c X'ụ },'Fontweight' 'bold' 'color' 'm', , , );ylabel({'Tr c Y'ụ },'Fontweight' 'bold' 'color' 'm', , , );axis([-10 10 -10 10],'equal');
case 2;
f1=input(ậ 'Nh p phươ ng trình y1 =');f2=input(ậ 'Nh p phươ ng trình y2 =');
Trang 15f=input(ậ ươ'Nh p ph ng trình f(x,y) =');d=solve(f1==f2,x);
for o=1:2
if imag(d(o,1))~=0 d(o,1) = NaN; end;
disp('C n đ u tiên c a mi n D t o b i đ ng y1 và y2 theo
disp('Tích phân kép c a hàm f(x,y) theo mi n D :'ủ ề );disp('Làm tròn c a tích phân kép f(x,y):'ủ );disp(i);
fplot(f1, , 'r' 'LineWidth', 2);hold ;on
fplot(f2, , 'b' 'LineWidth', 2);hold off;
title(ề 'Mi n D c a đủ ườ ng y1 và y2 :','color' 'r' 'fontweight' 'bold', , , );
xlabel({'Tr c X'ụ },'Fontweight' 'bold' 'color' 'm', , , );ylabel({'Tr c Y'ụ },'Fontweight' 'bold' 'color' 'm', , , );axis([-10 10 -10 10],'equal');
-Giải thích code:
Clc: lệnh dung để xóa toàn bộ văn bản hoặc lệnh bên trong window command;Clear all : dung để xóa tất cả giái trị của biến;
Switch :Dùng để đổi trường hợp tính ;
Sym2poly : biến đa thức nhập vào thành ma trận 1 hàngRoots: tính nghiệm từ ma trận 1 lệnh sym2poly;
Trang 16Round(): làm tròn số được nhập phía trong ngoặc;
Disp() : dung để biểu diễn giá trị của nghiệm hoặc xuất lời nhập;
Int(): lệnh dung để tính tích phần cho hàm f(x,y) theo cú pháp: (_hàm nhập vào_, _biến mà hàm cần tích phân theo_,_cận trên_,_cận dưới_);
Fplot: biểu diễn đồ thị y và y trên figure ;1 2 Hold on : dựng hình và giữ hình; Hold off: tắt giữ hình;
Title : tiêu để cho đồ thị;
Xlable: biểu diễn tiêu đề cho trục x;Ylable : biểu diễn tiêu đề cho trục y.
VD 1: Chọn hàm y1=x2+8x-5 và y = -x -4x+9 và hàm f(x,y)=x y
Bài giải tay:
Theo phương trình hoành độ giao điểm ta có: y1=y2 => x +8x-5 = -x -4x+9 2 2
x +8x-5 +x +4x- 9 =022 =>2x +12x -14 =02
=>Nghiệm của phương trình : x =1 ; x = -7.1 2 Ta được :
Phần bài giải bằng matlab:
Sau khi bấm run màn hình sẽ xuất hiện:
Trang 17Vì ta có y và y đều là đa thức nên ta nhập số 1, ta được: 12
Lúc này lân lượt nhập phương trình y ,y ,f(x,y) ta được: 12
:
Trang 18VD 2: Chọn hàm y1=1+√(9-x) và y2=x +2 và hàm f(x,y)=xy+5y
Bài giải tay:
Theo phương trình hoành độ giao điểm ta có :y =y12 =>
(ĐK: ).
Ta có :Δ=(-3) – 4.(-1).(8) =412
x21 = (loại)x2
2 = (nhận)
Nghiệm của phương trình: x =1.0344 và x12=-1.0344.Ta có
Bài giải bằng matlab:
Sau khi bấm run ta sẽ thấy:
Vì lần này ta có y không phải là hàm đa thức nên nhập loại hình tính là 2, màn 1hình sẽ hiện :
Trang 19Sau đó nhập lần lượt phương trình y1 ,y2,f(x,y) thì ta được:
Và đồ thị của miền D :
Trang 20Câu 5 Tính thể tích vật thể E giới hạn bởi: , , Vẽ vật thể E Từ đó xác định cận lấy tích phân.
I.Cơ sở lý thuyết
1 Định nghĩa hệ tọa độ cầu
Điểm M(x,y,z) trong hệ trục tọa độ Oxyz được xác định duy
Hệ trục tọa độ cầu thường dùng đối với miền thể tích là
hình cầu hoặc giao của hình nón và hình cầu.
Trang 211 Vẽ phác thảo hình theo đề bài
2 Xác định lại miền cần tính diện tích theo đề bài
Trang 223 Vẽ hình chiếu xác định cận của tích phân bội ba
Trang 231ρ 2 ; θ
2ϕ
4 Sử dụng Matlab tính tích phân bội 3
Trang 24III Giải tay
Trang 25IV Nhận xét
Kết quả giải tay và kết quả Matlab tính là giống nhau, từ đó có thể thấy Matlab là 1 trong những công cụ hiệu quả và đáng tin cậy trong việc giải quyết các bài toán phức tạp.
Trang 26Câu 6: Nhập hàm số f (x, y) từ bàn phím Tính I=với C là giao của = 4 và x + z = 4 Vẽ giao tuyến C.
Thực hiện code trên matlab
Nhập hàm như sau
Ta có kết quả
Trang 27% Tính giá tr z d a trên phịựương trình x + z = 4
c_gt = 4 - a_gt;
% V giao tuy n 3D c a mi n Cẽếủề
plot3(a_gt, y1, c_gt, 'r','LineWidth',2);plot3(a_gt, y2, c_gt, 'r','LineWidth',2);axis equal;
%Ve mat phang x + z = 4
[X,Y] = meshgrid(a_gt,a_gt);Z = 4 - X;
surf(X,Y,Z,'facecolor' 'blue' 'FaceAlpha',,,0.2,'LineStyle','none'); % v? ?? th?3D
title('Giao tuyen cua x^2 + y^2 = 4 va x + z = 4');
%Tinh tich phan duong
Trang 28syms x y z t %khai bao bien%tham so hoa bai toan
x = 2*cos(t);y = 2*sin(t);z = 4 - x;
f = input('Nhap ham f(x,y): ');