Với thư viện Toobox, MATLAB cho phép mô phỏng tính toán, thực nghiệm nhiều mô hình trong thực tế và kỹ thuật.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO MATLAB GIẢI TÍCH 2
Trang 2STT HỌ VÀ TÊN MSSV LỚP
Trang 3Mục lục
I Lời mở đầu ……… 3
II Đề tài và phân tích……… 4
III Báo cáo đề tài ……… 5
IV Kết luận ……… 10
V Nhận xét của giảng viên hướng dẫn ……… 11
Trang 4I LỜI MỞ ĐẦU…
Ngày nay khoa học ngày càng phát triển, với đà phát triển này việc ứng dụng khoa học và sáng chế khoa học ở trường học là rất thiết thực và quan trọng Chính vì vậy, ngay từ năm đầu các giảng viên trường ĐH Bách Khoa TP.HCM đã giúp cho
các sinh viên ngành kỹ thuật làm quen với các ứng dụng lập trình, ví dụ như Chương
trình Matlab
MATLAB là một môi trường tính toán số và lập trình cho phép tính toán số
với ma trận, vẽ đồ thị hàm số hay biểu diễn thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với nhiều máy tính viết trên nhiều ngôn ngữ lập
trình khác Với thư viện Toobox, MATLAB cho phép mô phỏng tính toán, thực
nghiệm nhiều mô hình trong thực tế và kỹ thuật Với hơn 40 năm hình thành và phát
triển, ngày nay với thiết kế sử dụng tương đối đơn giản và phổ thông, MATLAB là
công cụ tính toán hữu hiệu để giải quyết các bài toán kỹ thuật
Vì vậy, đối với những bài toán trong môn Giải tích, đặc biệt là những bài toán
giới hạn, đạo hàm, tích phân, vi phân, vẽ đồ thị,… MATLAB có thể giúp ta giải quyết
những bài toán đó một cách đơn giản và hiệu quả, phần mềm trở thành một trợ thủ đắc lực cho cả giảng viên và sinh viên trong giảng dạy và học tập
Trang 5II ĐỀ TÀI VÀ PHÂN TÍCH
Câu 1:
Nhập hàm ba biến f = f (x, y) Viết biểu thức tính vi phân cấp n tại điểm M(xo, yo) Biết rằng công thức khai triển vi phân cấp cao là dnf = (𝜕
𝜕𝑥𝑑𝑥 + 𝜕
𝜕𝑦𝑑𝑦)𝑛𝑓
Phân tích:
Cơ sở lý thuyết: Vi phân cấp cao
Input: Hàm f=f(x, y) , n, xo, yo
Output: Kết quả vi phân
Câu 2:
Nhập hàm hai biến f (x, y) là đa thức Khảo sát cực trị tự do của hàm Vẽ đồ thị mặt và chỉ ra điểm cực trị
Phân tích:
Cơ sở lý thuyết: Cực trị tự do
Input: hàm f =f (x, y)
Output: Điểm cực trị
Trang 6III BÁO CÁO ĐỀ TÀI
1 Câu 1
Nhập hàm ba biến f = f (x, y) Viết biểu thức tính vi phân cấp n tại điểm M(xo, yo) Biết rằng công thức khai triển vi phân cấp cao là dnf = (𝜕
𝜕𝑥𝑑𝑥 + 𝜕
𝜕𝑦𝑑𝑦)𝑛𝑓
Đoạn CODE:
syms x y dx dy
n=input( 'Dao ham bac n, n=' );
f=input( 'Nhap ham f(x;y)=' );
a=input( 'Nhap gia tri x0 cua M(x0;y0)=' );
b=input( 'Nhap gia tri y0 cua M(x0;y0)=' );
i=0;s=1;e=1;h=1;ketqua=0;
for k=1:n;
s=s*k;
end
q=d^n*F;
while i<=n;
for g=1:n-i;
h=h*g;
end
j=s/(e*h);
h=1;
t=diff(f,x,n-i);
u=diff(t,y,i);
v=u*j;
m=subs(subs(v,x,a),y,b);
r=dx^(n-i);
p=dy^i;
L=m*(q/(r*p));
ketqua=ketqua+L;
i=i+1;
e=e*i;
end
disp(ketqua)
Trang 7 Ví dụ 1: f = ex^2y Tìm d3f(1, 0)
Ví dụ 2: f = x12 – y14 + x6y5 – 12 Tìm d10f(1, 1)
Trang 82 Câu 2:
Nhập hàm hai biến f (x, y) là đa thức Khảo sát cực trị tự do của hàm Vẽ đồ thị mặt và chỉ ra điểm cực trị
Đoạn CODE:
function b6
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);
Trang 9f=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)
disp( 'f khong co cuc tri' )
[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: ' '(' 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: ' '(' 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))
Trang 10 Ví dụ 1 : f(x,y)= 2*x^2-3*y^2 +x*y -4
Ví dụ 2: f(x, y) = sqrt(4-x^2-y^2)
Trang 11IV KẾT LUẬN
1 Ưu điểm
Tính toán dễ dàng, tiện lợi, cho kết quả chính xác hơn cách tính phổ thông
Giúp hiểu thêm về ứng dụng Malab trong các bài toán kỹ thuật
Tiết kiệm thao tác và thời gian tính toán hơn so với cách tính phổ thông
Sử dụng các lệnh thông báo nội dung khiến cấu trúc sử dụng trở nên tương đối đơn giản, dễ hiểu, dễ sử dụng và phù hợp với tất cả mọi người
2 Khuyết điểm
Thiết kế đoạn code mất nhiều thời gian, công sức
Đoạn code rườm rà
Còn mô phạm trong chủ đề được giảng viên chỉ định, chưa có sáng tạo sang các chủ đề tính toán kỹ thuật khác
Trang 12V NHẬN XÉT CỦA G.VIÊN HƯỚNG DẪN