ĐẠI HỌC QUỐC GIA Tp HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG BỘ MÔN TOÁN ỨNG DỤNG o0o BÁO CÁO BÀI TẬP LỚN MÔN GIẢI TÍCH 1 ĐỀ TÀI BÁO CÁO TÍNH DIỆN TÍCH MIỀN PHẲNG 1 Giảng viên hướng dẫn Th.
Trang 1ĐẠI HỌC QUỐC GIA Tp HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA: KHOA HỌC ỨNG DỤNG
BỘ MÔN: TOÁN ỨNG DỤNG
-o0o -BÁO CÁO
BÀI TẬP LỚN MÔN GIẢI TÍCH 1
ĐỀ TÀI BÁO CÁO:
TÍNH DIỆN TÍCH MIỀN PHẲNG 1
Giảng viên hướng dẫn : Th.S Hoàng Hải hà
Nhóm Sinh viên thực hiện:
Trần Minh Hoan MSSV: V1101195 Lớp:VL1101
Nguyễn Duy Hùng MSSV: V1101435 Lớp:VL1102
Lương Trung Chính MSSV: V1100391 Lớp:VL1101
Trang 2NỘI DUNG ĐỀ TÀI
Input:
Nhập 2 hàm f1(x) và f2(x)
Nhập đoạn [a,b]
Out put:
Tính diện tích miền phẳng
Vẽ đồ thị hai hàm đã cho
Giới hạn:
Hai hàm liên tục trên đoạn giữa hai nghiệm và không xét hàm lượng giác
Hai hàm cắt nhau không quá 2 điểm.
- -BÁO CÁO ĐỀ TÀI
Cơ sở lí thuyết chung : ứng dụng tích phân để tìm diện tích miền phẳng trong đoạn [a,b]
Câu 1:
Cho 2 hàm f1(x) và f2(x) không giao nhau trong đoạn [a,b]
Thuật Toán:
- Nhập hai hàm f1(x) và f2(x) và 2 số a,b từ bàn phím
- Giải phương trình f1(x)-f2(x)=0 tìm nghiệm m ( loại nghiện phức , nghiệm ảo, nghiệm trùng nhau),sắp xếp lại thứ tự nghiệm.
- Tinh tích phân f1(x)-f2(x) trong đoạn [a,b]
- Vẽ đồ thị hai hàm f1(x) và f2(2) trên cùng một hệ trục tọa độ
Đoạn code Matlab lập trình:
function tichphan1
syms x
f=input('nhap ham f1(x)= ');% -nhap 2 hàm f1(x) và
f2(x) -g=input('nhap ham f2(x)= ');
disp('nhap doan [a b]')
a=input('a= ');% -nhập đoạn
[a,b] -b=input('b= ');
m=[];% ma trận
trống -if ~isreal(f-g)
m=solve([char(f-g) '=0'],x);% giai phương trình f1(x)-f2(2)=0; gán m= nghiệm của phương trình f1(x)-f2(x)=0
m=[m;0];% -thêm phần tử 0 vào ma trận ban m=double(m);
i=1; % gán bien i=1
while i<=length(m) % cho i chạy từ 1 đến m
if ~isreal(m(i)) || m(i)<=a || m(i)>=b
m(i)=[];
Trang 3i=i-1; % gán i= i-1
end
i=i+1; % gán i= i+1
end
end
m=[a;m;b];
S=0;
for i=1:length(m)-1
S=S+abs(int(f-g,x,m(i),m(i+1))); % tính diện tích miền phẳng S
end
text=['dien tich cau hinh phang bang: ' char(S)];
disp(text)
ezplot(f,a,b) % vẽ hàm f1(x) trên đoạn [a,b]
hold on
ezplot(g,a,b)% vẽ hàm f2(x) trên đoạn [a,b]
hold on
end
Ví dụ:
Xét hàm thử: f1(x)=x và f2(x)= x+sin2x trên đoạn [1,2]
Kết quả thu được:
tichphan1
nhap ham f1(x)= x
nhap ham f2(x)= x+
(sin(x))^2
nhap doan [a b]
a= 1
b= 2
dien tich cau hinh phang
bang: sin(2)/4 - sin(4)/4
+ ½
Câu 2:
Hai hàm f1(x) và f2(x) chỉ cắt nhau 1 điểm trong đoạn [a,b] Tính diện tích miền phẳng
Thuật Toán:
- Nhập hai hàm f1(x) và f2(x) và 2 số a,b từ bàn phím
- Giải phương trình f1(x)-f2(x)=0 tìm nghiệm m ( loại nghiện phức , nghiệm ảo, nghiệm trùng nhau),sắp xếp lại thứ tự nghiệm.
- Tinh tích phân f1(x)-f2(x) trong đoạn [a,m] và tích phân f1(x)-f2(x) trong đoạn [m,b]
Trang 4- Vẽ đồ thị hai hàm f1(x) và f2(2) trong khoảng [a,b] trên cùng một hệ trục tọa độ
Đoạn code lập trình:
function tichphan2
syms x
f=input('nhap ham f1(x)= ');% nhập 2 hàm f1(x) và f2(x)
g=input('nhap ham f2(x)= ');
disp('nhap doan [a b]') % nhập đoạn [a,b]
a=input('a= ');
b=input('b= ');
m=[];
if ~isreal(f-g)
m=solve([char(f-g) '=0'],x); % giải phương trình
f1(x)-f2(x)=0;gắn m= nghiệm của phương trình f1(x)-f2(x)=0
m=[m;0]; % -thêm phần tử 0 vào ma trận ban
m=double(m);
i=1; % gán i=1
while i<=length(m)
if imag(m(i))>0.000001 || m(i)<=a || m(i)>=b % xét phần ảo trong ma trận m
m(i)=[];
i=i-1;
else
m(i)=m(i)-imag(m(i))*1i;
end
i=i+1;
end
m=union(m,m);
end
m=[a;m;b];
S=0;
for i=1:length(m)-1
S=S+abs(int(f-g,x,m(i),m(i+1))); %tính diện tích miền phẳng đã cho
end
text=['dien tich cau hinh phang bang: ' char(S)];
disp(text)
ezplot(f,a,b) %
hold on
ezplot(g,a,b) vẽ hàm f2(x) trong đoan [a,b]
hold off
end
Ví dụ:
Xét hàm thử: f1(x) = xlog(x2) và f2(x) = x trên đoạn [-1,1]
Kết quả thu được:
Trang 5nhap ham f1(x)=
x*log10(x^2)
nhap ham f2(x)= x
nhap doan [a b]
a= -1
b= 1
dien tich cau hinh phang
bang: 1/log(10) + 1
Câu 3:
Hàm f1,f2 có 1 hoặc 2 giao điểm trong đoạn [a,b] Kiểm tra xem x=a,x=b có cắt đồ thị hay không? Tính diện tích nếu tạo ra miền phẳng.
Thuật Toán:
- Nhập hai hàm f1(x) và f2(x) và 2 số a,b từ bàn phím
- Giải phương trình f1(x)-f2(x)=0 tìm nghiệm m và n ( loại nghiện phức , nghiệm ảo, nghiệm trùng nhau),sắp xếp lại thứ tự nghiệm.
- Thay lần lượt các số a, b vào 2 hàm f1,f2 Nếu tất cả giá trị cho ra là số thực thì nhận a,b Ngược lại chỉ cần 1 giá trị xuất ra không phải số thực thì không nhận a,b Nhận a,b thì tính tiếp:
+ Tinh tích phân f1(x)-f2(x) trong đoạn [a,m] ,tích phân trong đoạn [m,n] và tích phân f1(x)-f2(x) trong đoạn [m,b]
+ Vẽ đồ thị hai hàm f1(x) và f2(2) trong khoảng [a,b] trên cùng một hệ trục tọa độ
Code Matlab lập trình được:
function tichphan3
syms x
f=input('nhap ham f1(x)= ');%nhập hai hàm f1(x) và f2(x)
g=input('nhap ham f2(x)= ');
disp('nhap doan [a b]') % nhập đoạn [a,b]
a=input('a= ');
b=input('b= ');
while ~isreal(subs(f,x,a)) || ~isreal(subs(g,x,a)) ||
~isreal(subs(f,x,b)) || ~isreal(subs(g,x,b))& nếu a,b không là số thực thì nhập lại
disp('nhap a b sai, yeu cau nhap lai')
a=input('a= ');
b=input('b= ');
Trang 6m=[];% gán m = ma trận trống
if ~isreal(f-g)
m=solve([char(f-g) '=0'],x); % giải phương trình f1(x)-f2(x)=0 m=[m;0]; % gán them phần tử 0 vào ma trận m ban đầu
m=double(m);
i=1;% cho biến I chạy từ 1 dến m
while i<=length(m)
if imag(m(i))>0.000001 || m(i)<=a || m(i)>=b % loại nghiệm phức
m(i)=[];
i=i-1;
else
m(i)=m(i)-imag(m(i))*1i;
end
i=i+1;
end
m=union(m,m);
end
m=[a;m;b];
S=0; % cho diện tích miền phẳng ban đầu bằng 0
for i=1:length(m)-1
S=S+abs(int(f-g,x,m(i),m(i+1)));% tính diện tích miền phẳng S end
text=['dien tich cau hinh phang bang: ' char(S)];
disp(text)
ezplot(f,a,b) % vẽ hàm f1(x) trong khoảng [a,b]
hold on
ezplot(g,a,b) % vẽ hàm f2(x) trong khoảng [a,b]
hold off
end
Ví dụ:
tichphan3
nhap ham f1(x)=
sqrt(8-x^2)
nhap ham f2(x)= sqrt(2*x)
nhap doan [a b]
a= -2
b= 3
nhap a b sai, yeu cau nhap
lai
a=
Trang 7nhap ham f1(x)= x^2-x+1
nhap ham f2(x)= 2-x^2
nhap doan [a b]
a= -1
b= 1
dien tich cau hinh phang
bang: 19/12
tichphan3
nhap ham f1(x)=
sqrt(8-x^2)
nhap ham f2(x)= sqrt(2*x)
nhap doan [a b]
a= -2
b= 3
nhap a b sai, yeu cau nhap
lai
a=
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………