Tải bản đầy đủ (.docx) (19 trang)

bài tập lớn giải tích 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 19 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
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ÁO CÁO BÀI TẬP LỚN
MÔN: GIẢI TÍCH 2
ĐỀ TÀI SỐ: 4
GVHD: Hoàng Hải Hà
Lớp: KU1201 + KU1202
Nhóm: 4
Nhóm sinh viên thực hiện:

Tp.HCM, tháng 05 năm 2013


Đề Tài Số 4 - Giải Tích 2
---------Bài Tập 1:

A-

I - Yêu Cầu:
Dùng công thức Stokes tính tích phân đường loại 2 trong không gian :

∫ P( x, y, z )dx + Q( x, y , z )dy + R( x, y, z )dz

L

, L là giao tuyến của các mặt


x2
a

2

+

y2
b

2

+

z2
c

2

= 1,

x y z
+ + =1
a b c

, hướng đi trên L là ngược chiều kim đồng hồ
nhìn từ phía z >0. Với P, Q, R, a, b, c nhập từ bàn phím.
II- Cơ Sở Lý Thuyết:
Công thức Stokes: Mặt S được định hướng, trơn từng khúc với biên là
chu tuyến. Các hàm P, Q, R và các đạo hàm riêng cấp một liên tục trên

miền mở chứa S. Khi đó ta có:

∫ P( x, y, z )dx + Q( x, y, z )dy + R( x, y, z )dz

L

=
Trong đó hướng của L lấy theo hướng dương tương ứng của S.
Cách thực hiện:
1)
2)
3)
4)
5)

Xác định giao tuyến L.
Tính pháp vécto.
Tính pháp vecto đơn vị.
Chuyển tích phân cần tính về tích phân mặt loại 1.
Tính tích phân đã chuyển trong tọa độ cực.

III- Code:
syms x y z real
P=input('Nhap P(x,y,z)= ');
Q=input('Nhap Q(x,y,z)= ');


R=input('Nhap R(x,y,z)= ');
a=input('Nhap a= ');
b=input('Nhap b= ');

c=input('Nhap c= ');
f=(x/a+y/b+z/c)-1;
n=[diff(f,'x') diff(f,'y') diff(f,'z')];
n=n/sqrt(diff(f,'x')^2 + diff(f,'y')^2 + diff(f,'z')^2); % tinh vector don vi cua
vector phap
%phuong phap tinh la phuong phap stokes
p=(diff(R,'y')-diff(Q,'z'))*n(1,1);
q=(diff(P,'z')-diff(R,'x'))*n(1,2);
r=(diff(Q,'x')-diff(P,'y'))*n(1,3);
z=((-x/a)+(-y/b)+1)*c;
f=(eval(p)+eval(q)+eval(r))*sqrt(1+diff(z,'x')^2+diff(z,'y')^2);
% da chuyen ve tich phan mat loai 1
syms r phi real
x=r*cos(phi);y=r*sin(phi); % chuyen sang phuong phap truc toa do
f=eval(f);
S=int(int(f*r,'r',0,1),'phi',0,2*pi); %tinh tich phan
S=double(S);
disp(['Tich phan can tinh la: I= ' num2str(S)])
IV- Ví Dụ:
Ví dụ1 : Dùng công thức Stokes tính tích phân
I=dx + (2x-z)dy + ydz với L là giao tuyến của các

x2
a2

+

y2
b2


+

z2
c2

= 1,

x y z
+ + =1
a b c

mặt

, hướng đi trên L là ngược chiều kim đồng

hồ nhìn từ từ phía z > 0.
Kết quả:
>>Nhap P(x,y,z)= x-y
Nhap Q(x,y,z)= 2*x-z
Nhap R(x,y,z)= y
Nhap a= 1
Nhap b= 1
Nhap c= 1
Tich phan can tinh la: I= 15.708
Ví dụ 2: Dùng công thức Stokes tính tích phân


I= – y2)dx + (3y-z2)dy + (3z – x2)dz với L là giao tuyến của các mặt

x2

a2

+

y2
b2

+

z2
c2

= 1,

x y z
+ + =1
a b c

, hướng đi trên L là ngược chiều kim

đồng hồ nhìn từ từ phía z > 0.
Kết quả:
>>Nhap P(x,y,z)= 3*x-y^2
Nhap Q(x,y,z)= 3*y-z^2
Nhap R(x,y,z)= 3*z-x^2
Nhap a= 2
Nhap b= 2
Nhap c= 2
Tich phan can tinh la: I= 12.5664
V- Kết Luận :

Đoạn code của nhóm có giải quyết được yêu cầu bài toán: Dùng
công thức Stokes tính tích phân đường loại 2 trong không gian :
∫ P( x, y, z )dx + Q( x, y, z )dy + R( x, y, z )dz
L

, L là giao tuyến của các mặt

x2
a2

+

y2
b2

+

z2
c2

= 1,

x y z
+ + =1
a b c

, hướng đi trên L là ngược chiều kim đồng
hồ nhìn từ phía z >0. Với P, Q, R, a, b, c nhập từ bàn phím.
B-


Bài Tập 2:
I - Yêu Cầu:
• Input: Hàm f = f(x,y), điểm M(x0, y0) , cấp n.
• Output: Khai triển Taylor hàm z(x,y) tại điểm M đến cấp n.
II- Cơ Sở Lý Thuyết:
Hàm f = f (x,y) có đạo hàm riêng đến cấp n+1 trong lân cận của điểm
M0 = (x0,y0).
Công thức Taylor của f đến cấp n tại điểm M0 là :
F(x,y) = f(x0 + ,y0 + ) = f(x0,y0) + (x0,y0) + Rn(,∆y)
Trong đó Rn(,) là phần dư cấp n.
III- Code:


function d4b2
syms x y real
warning off
f=input('nhap ham f(x,y)= ');
n=input('nhap so n= ');
disp('nhap lan luoc toa do diem M0')
x0=input('x0= ');
y0=input('y0= ');
t=subs(f,[x y],[x0 y0]);
for i=1:n
c=zeros(1,i);
c=sym(c);
a=f;b=f;
for j=1:i
a=diff(a,'x');
sa=subs(a,[x y],[x0 y0]);
A=sa*(x-x0)^i;

b=diff(b,'y');
sb=subs(b,[x y],[x0 y0]);
B=sb*(y-y0)^i;
if i-j > 0
c(1,j)=a;
end
for k=1:i-j;
c(1,j)=diff(c(1,j),'y');
end
d=chinhhop(i,j);
e=doithua(i);
sc=subs(d*c(1,j)/e,[x y],[x0 y0]);
C=sc*(x-x0)^j*(y-y0)^(i-j);
t=t+C;
end
t=t+A/e+B/e;
end
disp(['khai trien taylor cua ham f(x,y)= ' char(f) 'den cap
' num2str(n) ' la'])
disp(char(t))
[x1,y1]=meshgrid(x0-1:.05:x0+1,y0-1:.05:y0+1);
[~,mau]=numden(f);
mau=sym(mau);
for i=1:length(x1)
for k=1:length(x1)
x=x1(i,k);
y=y1(i,k);
if eval(mau)==0 || eval(exp(f))==0
x1(i,k)=NaN;
y1(i,k)=NaN;

end
end
end
f=char(f);f=strrep(f,'^','.^');f=strrep(f,'*','.*');


for i=1:length(x1)
for k=1:length(x1)
x=x1(i,k);
y=y1(i,k);
z(i,k)=eval(f);
end
end
[x1 y1 z]=khu(x1,y1,z);
set(surf(x1,y1,z),'facecolor','b','edgecolor','non','faceal
pha',.5)
hold on
t=char(t);t=strrep(t,'^','.^');t=strrep(t,'*','.*');
x=y1;y=y1;
t=eval(t);
[x1 y1 t]=khu(x1,y1,t);
set(surf(x1,y1,t),'facecolor','r','edgecolor','non','faceal
pha',.2)
hold off
rotate3d on
end
function a=doithua(b)
a=1;
for i=2:b
a=a*i;

end
end
function a=chinhhop(i,j)
a=doithua(i)/(doithua(j)*doithua(i-j));
end
function [x y f]=khu(x,y,f) % chuong trinh loai bo cac diem
khong ton tai cua ham f
for i=1:length(x)
for j=1:length(y)
if ~isreal(f(i,j))
f(i,j)=NaN;x(i,j)=NaN;y(i,j)=NaN;
end
end
end
end

IV- Ví Dụ:
a. Ví dụ 1: Khai triển theo công thức Taylor ở lân cân điểm (1,1) của hàm
f(x,y) = yx đến bậc 2.
Kết quả:
>> nhap ham f(x,y)= y^x
>> nhap so n= 2


>> nhap lan luoc toa do diem M0
x0= 1
y0= 1
khai trien taylor cua ham f(x,y)= y^xden cap 2 la
y + (x - 1)*(y - 1)



b.

Ví dụ 2: Khai triển theo công thức Taylor ở lân cân điểm (2,-1) của
hàm f(x,y) = x3-5x2-xy+y2+10x+5y-4 đến bậc 2.
Kết quả:
>>nhap ham f(x,y)= x^3-5*(x^2)-x*y+y^2+10*x+5*y-4
>>nhap so n= 2
>>nhap lan luoc toa do diem M0
x0= 2
y0= -1
khai trien taylor cua ham f(x,y)= x^3 - 5*x^2 - x*y + 10*x + y^2 + 5*y
- 4den cap 2 la3*x + y - (x - 2)*(y + 1) + (x - 2)^2 + (y + 1)^2 - 3



V- Kết Luận:
Đoạn Code của nhóm có thể khai triển Taylor hàm f(x,y) tại điểm M(x 0,y0)
đến cấp n. Cho ra kết quả sau khi khai triển taylor của hàm f(x,y) và vẽ đồ
thị hàm f(x,y).
C-

Bài Tập 3:
I - Yêu Cầu:



Input: Hàm f(x,y) đa thức bậc nhỏ hơn 4.
Ouput: cực trị tự do của hàm f(x,y). ( không xét trường hợp ∆=0 ).


II- Cơ Sở Lý Thuyết:
Cho hàm f(x,y) xác định trong lân cận điểm (x0,y0). Điểm (x0,y0) gọi là
điểm cực đại (cực tiểu) của hàm f(x,y) nếu tồn tại > 0 sao cho f(x,y)
f(x0,y0), f(x,y) f(x0,y0) với mọi (x,y) B(x,y).
Các bước thực hiện:
1)
2)
3)

Tìm đạo hàm riêng của hàm f(x,y), cho đạo hàm riêng bằng 0  Tìm điểm
dừng.
Tính 3 đạo hàm riêng cấp 2 của f(x,y)  f”xx , f’’yy , f’’xy .
Xét tại từng điểm dừng Mi (xi ,yi), đặt:
A= f’’xx(Mi), B=f’’xy(Mi), C= f’’yy(Mi)  = B2 – AC.
Xét dấu ∆:
• > 0: hàm không đạt cực trị.
• < 0: Nếu A>0 thì fct = f(Mi). Nếu A<0 thì fcđ = f(Mi).
• = 0 xét dấu = f(x,y)-f(xi ,yi).

III- Code:
function d4b3


clc
syms x y real
f=input('nhap ham f(x,y)= ');
[a b]=solve([char(diff(f,'x')) '=0'],[char(diff(f,'y')) '=0']); % giai dao ham cap 1
a=double(a);
b=double(b);
% tinh dao ham cap 2

A=diff(f,2,x);
B=diff(f,x);B=diff(B,y);
C=diff(f,2,y);

cd=zeros(0); ct=zeros(0);
zcd=zeros(0); zct=zeros(0);
n=size(a,1);i=1;
while i<=n;
x=a(i);y=b(i);
sA=eval(A);sB=eval(B);sC=eval(C); %tim A,B,C
delta=(sA*sC-sB^2); %tinh delta
delta=double(delta);
if delta > 0
if sA > 0 % A > 0 la cuc tieu
ct=[ct;a(i) b(i)]; zct=[zct;eval(f)];
i=i+1;
elseif sA < 0 % A > 0 la cuc dai


cd=[cd;a(i) b(i)]; zcd=[zcd;eval(f)];
i=1+i;
else
a(i)=[];b(i)=[];
n=n-1;
end
else
a(i)=[];b(i)=[];
n=n-1;
end
end

if size([zcd;zct],1)>= 2 % ve hinh voi 2 cuc tri tro len
[x,y]=meshgrid(min(a)-abs(max( a )-min(a))/5:.1:max(a)+abs(max(a)min(a))/5,min(b)-abs(max(b)-min(b))/5:.1:max(b)+abs(max(b)-min(b))/5);
f=char(f);f=strrep(f,'^','.^');f=strrep(f,'*','.*');f=eval(f);
[x y f]=khu(x,y,f);
set(surf(x,y,f),'facecolor','b','edgecolor','non','facealpha',.3)
hold on
ctri(cd,ct,zcd,zct)
elseif size([zcd;zct],1)== 1 % ve hinh voi 1 cuc tri
[x,y]=meshgrid(a-2:.1:a+2,b-2:.1:b+2);
f=char(f);f=strrep(f,'^','.^');f=strrep(f,'*','.*');f=eval(f);
[x y f]=khu(x,y,f);
set(surf(x,y,f),'facecolor','b','edgecolor','non','facealpha',.3)
hold on


ctri(cd,ct,zcd,zct)
else % khong co cuc tri
disp('f khong co cuc tri chat, con co cuc tri ko chat hay khong thi chiu :))' )
[x,y]=meshgrid(-2:.1:2);
f=char(f);f=strrep(f,'^','.^');f=strrep(f,'*','.*');f=eval(f);
[x y f]=khu(x,y,f);
set(surf(x,y,f),'facecolor','b','edgecolor','non','facealpha',.3)
end
rotate3d on
hold off
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
end


function ctri(cd,ct,zcd,zct) % chuong trinh ve cuc tri
cd=double(cd);zcd=double(zcd);
for i=1:size(zcd,1)
disp([' f co cuc dai chat: ' '(' num2str(cd(i,1)) ',' num2str(cd(i,2)) ','
num2str(zcd(i)) ')'])
[x,y]=meshgrid(cd(i,1)-0.2:.05:cd(i,1)+0.2,cd(i,2)-0.2:.05:cd(i,2)+0.2);
z=zcd(i)+x.*0+y.*0;
set(surf(x,y,z),'facecolor','r','edgecolor','non')
text(cd(i,1),cd(i,2),zcd(i)+.1,['cuc dai (' num2str(cd(i,1)) ',' num2str(cd(i,2))
',' num2str(zcd(i)) ')'])


end
ct=double(ct);zct=double(zct);
for i=1:size(zct,1)
disp([' f co cuc tieu chat: ' '(' num2str(ct(i,1)) ',' num2str(ct(i,2)) ','
num2str(zct(i)) ')'])
[x,y]=meshgrid(ct(i,1)-0.2:.05:ct(i,1)+0.2,ct(i,2)-0.2:.05:ct(i,2)+0.2);
z=zct(i)+x.*0+y.*0;
set(surf(x,y,z),'facecolor','r','edgecolor','non')
text(ct(i,1),ct(i,2),zct(i)-.1,['cuc tieu (' num2str(ct(i,1)) ',' num2str(ct(i,2)) ','
num2str(zct(i)) ')'])
end
end

function [x y f]=khu(x,y,f) % chuong trinh loai bo cac diem khong ton tai cua
ham f
for i=1:length(x)
for j=1:length(y)
if ~isreal(f(i,j))

f(i,j)=NaN;x(i,j)=NaN;y(i,j)=NaN;
end
end
end
end

IV- Ví Dụ:
Ví dụ 1: Tìm cực trị của hàm f(x,y) = x3 + y3 – 3xy.


Kết quả:
>>nhap ham f(x,y)= x^3+y^3-3*x*y
f co cuc tieu chat: (1,1,-1)

Ví dụ 2: Tìm cực trị hàm f(x,y) = x2 + y2.
Kết quả :


>>nhap ham f(x,y)= x^2+y^2
f co cuc tieu chat: (0,0,0)

V- Kết Luận :
Đoạn code của nhóm có thể tìm được cực trị tự do của hàm f(x,y), với f(x,y)
là đa thức bậc nhỏ hơn 4.
D-

Bài Tập 4:
I - Yêu Cầu:



Input: Hàm

f ( x, y, z )
.


∫∫∫ f ( x, y, z )dV
V



Output: Tích phân bội ba

, V là vật thể giới hạn bởi:

x 2 + y 2 + z 2 ≤ 4, z 2 ≤ x 2 + y 2
. Vẽ vật thể V.

II- Cơ Sở Lý Thuyết:

∫∫∫ f ( x, y, z )dV
V

Ta có : Thể tích vật thể V =

Mặt phía dưới : z =
Mặt phía trên : z1 =
Hình chiếu của V xuống mặt oxy : D : x2 + y2 2
V=
III- Code:

function d4b4
clc
syms x y z real
f=input('nhap ham f(x,y,z)= ');
f=sym(f);
[x, y, ~] = ellipsoid(0,0,1,1,1,1);
z=sqrt(x.^2 + y.^2);
z1=sqrt(4-(x.^2+y.^2));
set(surf(x,y,z),'facecolor','g','edgecolor','non','facealpha',.1)
hold on
set(surf(x,y,z1),'facecolor','b','edgecolor','non','facealpha',.1)
hold off
rotate3d on
syms theta phi p
x=p*cos(phi)*sin(theta);
y=p*sin(phi)*sin(theta);
z=p*cos(theta);
f=eval(f);
I=int(int(int(f*p^2*sin(theta),'p',0,1),'phi',0,2*pi),'theta',pi/2,pi);
I=double(I);
disp(['tich phan can tinh la I= ' num2str(I)])
end
IV- Ví Dụ:
Ví dụ1: Cho f(x,y,z) = x2+y2+1.


∫∫∫ f ( x, y, z)dV
Tích phân bội ba

V


x 2 + y 2 + z 2 ≤ 4, z 2 ≤ x 2 + y 2

, V là vật thể giới hạn bởi:
. Vẽ vật thể V.

Kết quả :
>>nhap ham f(x,y,z)= x^2+y^2+1
tich phan can tinh la I= 2.9322

Ví dụ2:
Cho f(x,y,z) = x2+y2+z2+2x-4y.


∫∫∫ f ( x, y, z)dV
Tích phân bội ba

V

x 2 + y 2 + z 2 ≤ 4, z 2 ≤ x 2 + y 2

, V là vật thể giới hạn bởi:
. Vẽ vật thể V.

Kết quả :
>>nhap ham f(x,y,z)= x^2+2*x+y^2-4*y+z^2
tich phan can tinh la I= 1.2566

V- Kết Luận :


∫∫∫ f ( x, y, z )dV
Đoạn code của nhóm tính được tích phân bội ba
và vẽ vật thể V.

V



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×