Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
5,17 MB
Nội dung
BÁO CÁO BTL GIẢI TÍCH Nguyễn Văn Tuấn Tú Nguyễn Xuân Quang 1713845 1712793 Trương Quang Huy 1711564 Nguyễn Thiện Nhân 1712436 Trần Văn Thông Lê Đăng Thịnh 1713354 1713320 Nguyễn Văn Tuân 1713769 Đinh Nhật Thành 1713141 Trần Khuất Cẩm Hiền 1711334 Lê Hồng Phúc 1712666 Nhóm 10 Lớp L06 I Phần tập nhóm: Cơ sở lý thuyết a Tính khối lượng mặt cong Cho mặt cong S khơng gian có phân bố khối lượng khơng đồng theo diện tích mặt cong Sự phân bố hệ trục tọa độ Oxyz mô tả hàm khối lượng đơn vị diện tích f(x,y,z) ( hay cịn gọi mật độ bề mặt ( kg / m ) Đầu tiên, chia mặt cong S thành mặt cong nhỏ có diện tích Sij ( x , y , z S ij Nếu chọn điểm tùy ý ij ij ij thuộc khối lượng vật thể tính gần theo cơng thức tổng Riemann tích phân mặt loại m n M � ��f ( xij , yij , zij Sij i 1 j 1 Nếu mặt cong S có phương trình z = z(x,y), phẳng Oxy m n M � ��f ( xij , yij , zij f x' xij , yij i 1 j 1 Dij hình chiếu Sij xuống mặt f y' xij , yij Dij Mặt cong S cho phương trình z = z(x,y) , phẳng Oxy đó: Dxy hình chiếu S xuống mặt z � �� z� �� dS � � � �dxdy x � �� y� �� Và 2 z � �� z� �� f ( x , y , z ) d S f ( x , y , z ( x , y )) � � � �dxdy � � � � x � �� y� �� S Dxy Giải tích phân cách chuyển sang tọa độ cực b x0 x f ( x, y, z )dS � � S f ( x, y, z )dS � � Tọa độ trọng tâm y S Thuật toán y f ( x , y , z ) d S � � S f ( x, y, z )dS � � S z z f ( x, y , z )dS � � S f ( x, y, z )dS � � S Code syms r p t m = input(' nhap vao m : '); f = (m+(m*(r*cos(p)+r*sin(p)))./sqrt(m.^2-r*r))*r; x = r*cos(p); y = r*sin(p); z = sqrt(m^2 - r^2); M = int(int(f,r,0,m),p,0,pi/2); disp('hoanh tam : xG = '); x0 = int(int(f*x,r,0,m),p,0,pi/2)./M; disp(x0); disp('tung tam : yG = '); y0 = int(int(f*y,r,0,m),p,0,pi/2)./M; disp(y0); disp('cao tam : zG = '); z0 = int(int(f*z,r,0,m),p,0,pi/2)./M; disp(z0); plot3(x0,y0,z0,'*') phi=linspace(0,pi/2,50); theta=linspace(0,pi/2,50); [p, t]=meshgrid(phi,theta); x=m.*sin(t).*cos(p); y=m.*sin(t).*sin(p); z=m.*cos(t) ; set(surf(x,y,z),'facecolor','b','edgecolor','non','facealpha',.3) axis equal Kết II Phần tập cá nhân: Nguyễn Văn Tuấn Tú 1713845 phần 1: 15 Phần 6: 68 Nguyễn Xuân Quang 1712793 phần 1: 68 Phần 2: 1,2 Trương Quang Huy 1711564 Phần : 37 Nguyễn Thiện Nhân 1712436 Phần 6: Trần Văn Thông Lê Đăng Thịnh 1713354 1713320 Phần 3: 37 Phần 3: 810 Phần 4: 1,2 Nguyễn Văn Tuân 1713769 Phần 4: 37 Đinh Nhật Thành 1713141 Phần 4: 810 Phần 5: 1,2 Trần Khuất Cẩm Hiền 1711334 Lê Hoàng Phúc Phần 5: 37 1712666 Phần 6: 15 Sinh viên: Nguyễn Văn Tuấn Tú MSSV: 1713845 a Phần 1: gồm : 1,2,3,4,5 Code: clc clf hold on grid on xlabel('Truc Ox') ylabel('Truc Oy') zlabel('Truc Oz') rotate3d on syms x y X0 Y0 fxt fyt x1 y1 u = input('nhap vao ham u theo hai bien x,y : u = '); f = input('nhap vao ham f theo bien u: f = '); X = diff(f,x); Y = diff(f,y); x0 = input('nhap vao hoanh cua M x0 ='); y0 = input('nhap vao tung cua M y0 ='); X0= subs(X,{x,y},{x0,y0}); disp('dao ham bac ham f theo x tai diem M = ') disp(X0) Y0= subs(Y,{x,y},{x0,y0}); disp('dao ham bac ham f theo y tai diem M = ') disp(Y0) %phuong trinh tiep tuyen f0=subs(f,{x,y},{x0,y0}); fxt=X0*(x-x0)+f0; fyt=Y0*(y-y0)+f0; x1=-50; y1=-50; plot3(x0,y0,subs(f,{x,y},{x0,y0}),'o') % v? ?i?m M0 for i = 1:1000 x1 = x1+0.1; y1 = y1+0.1; plot3(x1,y0,subs(fxt,x,x1)) plot3(x0,y1,subs(fyt,y,y1),'r') end kết quả: Code: clc clf hold on grid on xlabel('Truc Ox') ylabel('Truc Oy') zlabel('Truc Oz') rotate3d on syms x y X0 Y0 fxt fyt x1 y1 u = input('nhap vao ham u theo bien x : u = '); v = input('nhap vao ham v theo bien y : v = '); f = input('nhap vao ham f theo bien u v: f = '); %g?i X Y l?n l??t ??o hàm c?a f theo x theo y X = diff(f,x); Y = diff(f,y); x0 = input('nhap vao hoanh cua M x0 ='); y0 = input('nhap vao tung cua M y0 ='); X0 = subs(X,{x,y},{x0,y0}); disp('dao ham bac ham f theo x tai diem M = ') disp(X0) Y0= subs(Y,{x,y},{x0,y0}); disp('dao ham bac ham f theo y tai diem M = ') disp(Y0) %phuong trinh tiep tuyen f0=subs(f,{x,y},{x0,y0}); fxt=X0*(x-x0)+f0; fyt=Y0*(y-y0)+f0; x1=-50; y1=-50; plot3(x0,y0,subs(f,{x,y},{x0,y0}),'o') % v? ?i?m M0 for i = 1:1000 x1 = x1+0.1; y1 = y1+0.1; plot3(x1,y0,subs(fxt,x,x1)) plot3(x0,y1,subs(fyt,y,y1),'r') end Kết quả: Code: clc clf hold on grid on xlabel('Truc Ox') ylabel('Truc Oy') zlabel('Truc Oz') rotate3d on syms x y X0 Y0 fxt fyt x1 y1 u = input('nhap vao ham u theo hai bien x,y : u = '); v = input('nhap vao ham v theo hai bien x,y : v = '); f = input('nhap vao ham f theo hai bien u,v : f = '); %g?i X Y l?n l??t ??o hàm c?a f theo x theo y X = diff(f,x); Y = diff(f,y); x0 = input('nhap vao hoanh cua M x0 ='); y0 = input('nhap vao tung cua M y0 ='); X0= subs(X,{x,y},{x0,y0}); disp('dao ham bac ham f theo x tai diem M = ') disp(X0) Y0= subs(Y,{x,y},{x0,y0}); disp('dao ham bac ham f theo y tai diem M = ') disp(Y0) %phuong trinh tiep tuyen f0=subs(f,{x,y},{x0,y0}); fxt=X0*(x-x0)+f0; fyt=Y0*(y-y0)+f0; x1=-50; y1=-50; plot3(x0,y0,subs(f,{x,y},{x0,y0}),'o') for i = 1:1000 x1 = x1+0.1; y1 = y1+0.1; plot3(x1,y0,subs(fxt,x,x1)) plot3(x0,y1,subs(fyt,y,y1),'r') end Kết quả: z=-x-y; plot3(x,y,z,'r'); y=-x/2+sqrt(-3.*x.^2+8)/2; z=-x-y; plot3(x,y,z,'r'); hold off rotate3d on %tinh tich phan syms x y z t real f=input('nhap f(x,y)= '); f=sym(f); x=t; y=-x/2+sqrt(-3.*x.^2+8)/2; z=-x-y; h=eval(f); g=sqrt(1+diff(y,'t')^2+diff(z,'t')^2); I=int(h*g,'t',-2*sqrt(2/3),2*sqrt(2/3)); y=-x/2+sqrt(-3.*x.^2+8)/2; z=-x-y; h=eval(f); I=I+int(h*g,'t',-2*sqrt(2/3),2*sqrt(2/3)); if ~isreal(I) disp('Matlab xin botay.com, tich phan cua ban qua kho :P') else I=double(I); disp(['tich phan can tinh la I= ' num2str(I)]) end end Kết quả: Code: function n4b6 syms x y real f=input('f(x,y)= '); g=input('g(x,y)= '); disp('nhap toa dinh A,B,C vidu: toa la A(1,2) ta nhap: 1,2') A=input('toa A: ','s');A=str2num(A); B=input('toa B: ','s');B=str2num(B); C=input('toa C: ','s');C=str2num(C); u=diff(g,'y')-diff(f,'x'); dinh=[A;B;C]; a=unique(dinh,'rows'); S=0; if size(a,1)~=3 disp('nhap dinh bi sai') return end if a(1,1)~=a(2,1) && a(2,1)~=a(3,1) vt1=a(1,:)-a(2,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(1,1))+vt1(1,1)*a(1,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(1,1))+vt2(1,1)*a(1,2))/vt2(1,1); if subs(y1-y2,'x',(a(2,1)-a(1,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(1,1),a(2,1)); else S=S+int(int(u,'y',y1,y2),'x',a(1,1),a(2,1)); end vt1=a(2,:)-a(3,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(3,1))+vt1(1,1)*a(3,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(3,1))+vt2(1,1)*a(3,2))/vt2(1,1); if subs(y1-y2,'x',(a(3,1)-a(2,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(2,1),a(3,1)); else S=S+int(int(u,'y',y1,y2),'x',a(2,1),a(3,1)); end elseif a(1,1)==a(2,1) vt1=a(2,:)-a(3,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(3,1))+vt1(1,1)*a(3,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(3,1))+vt2(1,1)*a(3,2))/vt2(1,1); if subs(y1-y2,'x',(a(3,1)-a(2,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(2,1),a(3,1)); else S=S+int(int(u,'y',y1,y2),'x',a(2,1),a(3,1)); end elseif a(2,1)==a(3,1) vt1=a(1,:)-a(2,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(1,1))+vt1(1,1)*a(1,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(1,1))+vt2(1,1)*a(1,2))/vt2(1,1); if subs(y1-y2,'x',(a(2,1)-a(1,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(1,1),a(2,1)); else S=S+int(int(u,'y',y1,y2),'x',a(1,1),a(2,1)); end end S=double(S); disp(['tich phan can tinh la: I= ' num2str(S)]) end Kết quả: Code: function cau5 clc syms x y real f=input('f(x,y)= '); g=input('g(x,y)= '); disp('nhap toa dinh A,B,C vidu: toa la A(1,2) ta nhap: 1,2') A=input('toa A: ','s');A=str2num(A); B=input('toa B: ','s');B=str2num(B); C=input('toa C: ','s');C=str2num(C); u=diff(g,'x')-diff(f,'y'); u=-u; dinh=[A;B;C]; a=unique(dinh,'rows'); S=0; if size(a,1)~=3 disp('nhap dinh bi sai') return end if a(1,1)~=a(2,1) && a(2,1)~=a(3,1) vt1=a(1,:)-a(2,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(1,1))+vt1(1,1)*a(1,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(1,1))+vt2(1,1)*a(1,2))/vt2(1,1); if subs(y1-y2,'x',(a(2,1)-a(1,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(1,1),a(2,1)); else S=S+int(int(u,'y',y1,y2),'x',a(1,1),a(2,1)); end vt1=a(2,:)-a(3,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(3,1))+vt1(1,1)*a(3,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(3,1))+vt2(1,1)*a(3,2))/vt2(1,1); if subs(y1-y2,'x',(a(3,1)-a(2,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(2,1),a(3,1)); else S=S+int(int(u,'y',y1,y2),'x',a(2,1),a(3,1)); end elseif a(1,1)==a(2,1) vt1=a(2,:)-a(3,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(3,1))+vt1(1,1)*a(3,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(3,1))+vt2(1,1)*a(3,2))/vt2(1,1); if subs(y1-y2,'x',(a(3,1)-a(2,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(2,1),a(3,1)); else S=S+int(int(u,'y',y1,y2),'x',a(2,1),a(3,1)); end elseif a(2,1)==a(3,1) vt1=a(1,:)-a(2,:); vt2=a(1,:)-a(3,:); y1=(vt1(1,2)*(x-a(1,1))+vt1(1,1)*a(1,2))/vt1(1,1); y2=(vt2(1,2)*(x-a(1,1))+vt2(1,1)*a(1,2))/vt2(1,1); if subs(y1-y2,'x',(a(2,1)-a(1,1))/2)>0 S=S+int(int(u,'y',y2,y1),'x',a(1,1),a(2,1)); else S=S+int(int(u,'y',y1,y2),'x',a(1,1),a(2,1)); end end S=double(S); disp(['tich phan can tinh la: I= ' num2str(S)]) x=a(:,1); y=a(:,2); fill(x,y,'b') text(a(1,1),a(1,2),['(' num2str(a(1,1)) ',' num2str(a(1,2)) ')']) text(a(2,1),a(2,2),['(' num2str(a(2,1)) ',' num2str(a(2,2)) ')']) text(a(3,1),a(3,2),['(' num2str(a(3,1)) ',' num2str(a(3,2)) ')']) grid on axis([a(1,1)-(a(3,1)-a(1,1))/8 a(3,1)+(a(3,1)-a(1,1))/8 min(a(:,2)) -(max(a(:,2))-min(a(:,2)))/8 max(a(:,2)) +(max(a(:,2))-min(a(:,2)))/8]) end Kết quả: Code: clf syms x y x1=linspace(0,2,50); y1=sqrt(2.*x1-x1.^2); plot(x1,y1); xlabel('x');ylabel('y');zlabel('Z'); grid on rotate3d on f=input('nhap ham f(x,y): '); g=input('nhap ham g(x,y): '); s1=diff(g,x); s2=diff(f,y); s=s1-s2; I=int(int(s,y,0,1),x,0,2); disp(I); Kết quả: Code: syms t x y z a=input('Nhap a= '); b=input('Nhap b= '); T=linspace(0,2*pi,50); [T]=meshgrid(T); x1=cos(T); y1=a*sin(T); z1=b*T; mesh(x1,y1,z1); grid on rotate3d on f=input('nhap ham f(x,y,z): '); g=input('nhap ham g(x,y,z): '); h=input('nhap ham h(x,y,z): '); x2=cos(t); y2=a*sin(t); z2=b*t; f = subs(f,{x,y,z},{x2,y2,z2}); g = subs(g,{x,y,z},{x2,y2,z2}); h = subs(h,{x,y,z},{x2,y2,z2}); c=int(f.*(-sin(t)),t); d=int(g.*a.*cos(t),t); e=int(h.*b,t); I = c+d+e; disp(' ket qua tich phan la: I = '); I1 = subs(I,t,2*pi)-subs(I,t,0); disp(I1); Kết quả: 10 Sinh viên : Lê Hoàng Phúc MSSV: 1712666 a Phần gồm 1,2,3,4,5 Code: clf [x,y]=meshgrid(-2:.05:2); % tao luoi z=sqrt(x.^2+y.^2); % mat tren z2=-sqrt(2-x.^2-y.^2); % mat duoi for i=1:length(x) % vong lap loai bo cac diem nam ngoai mien giao for j=1:length(x) if x(i,j)^2+y(i,j)^2 > x(i,j)=NaN;y(i,j)=NaN; z(i,j)=NaN; z2(i,j)=NaN; end end end set(surf(x,y,z),'facecolor','b','edgecolor','non','facealpha',.3) %ve mat tren Kết quả: Code: clf hold on grid on xlabel('Truc Ox') ylabel('Truc Oy') zlabel('Truc Oz') rotate3d on [x,y]=meshgrid(-4:.05:4); z=x+2*y-3; %surf(x,y,z); for i=1:length(x) for j=1:length(x) if x(i,j)