Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
1,11 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO MATLAB GIẢI TÍCH GVHD: Hoàng Hải Hà TP.HCM, Ngày 27, Tháng 5, 2016 1|Page STT HỌ VÀ TÊN MSSV LỚP Nguyễn Văn Trọng 1513704 DC1504 Lê Thanh Trúc 1513756 CK15HT2 Nguyễn Xuân Trực 1513804 DC1504 Ông Thị Thanh Vân 1514011 CK15HT2 Võ Thị Ngọc Vy 1514151 CK15HT2 Đoàn Thuý Vy 1514137 CK15HT2 Đỗ Thị Xuân 1514160 DC1504 BÁO CÁO MATLAB GIẢI TÍCH 2|Page Mục lục Tiêu đề Trang I Lời mở đầu …………………………………………………………… II Đề tài và phân tích…………………………………………………… III Báo cáo đề tài ………………………………………………………… IV Kết luận ……………………………………………………………… 10 V Nhận xét của giảng viên hướng dẫn …………………………… 11 BÁO CÁO MATLAB GIẢI TÍCH 3|Page I LỜI MỞ ĐẦU… Ngày khoa học ngày phát triển, với đà phát triển việc ứng dụng khoa học sáng chế khoa học ở trường học rất thiết thực quan trọng Chính vì vậy, 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ụ Chương trình Matlab MATLAB một môi trường tính toán số 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 liên kết với nhiều máy tính viết 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 thực tế kỹ thuật Với 40 năm hình thành phát triển, ngày với thiết kế sử dụng tương đối đơn giản phổ thông, MATLAB công cụ tính toán hữu hiệu để giải quyết các toán kỹ thuật Vì vậy, đối với những toán môn Giải tích, đặc biệt những 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 toán đó một cách đơn giản hiệu quả, phần mềm trở thành một trợ thủ đắc lực cho cả giảng viên sinh viên giảng dạy học tập BÁO CÁO MATLAB GIẢI TÍCH 4|Page II ĐỀ 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 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) đa thức Khảo sát cực trị tự của hàm Vẽ đồ thị mặt chỉ điểm cực trị Phân tích: Cơ sở lý thuyết: Cực trị tự Input: hàm f =f (x, y) Output: Điểm cực trị BÁO CÁO MATLAB GIẢI TÍCH 5|Page III BÁO CÁO ĐỀ TÀI Câu 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 dnf = ( 𝜕 𝜕𝑥 𝑑𝑥 + 𝜕 𝜕𝑦 𝑛 𝑑𝑦) 𝑓 Đoạn CODE: syms x y dx dy d F 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 % A > la cuc tieu ct=[ct;a(i) b(i)]; zct=[zct;eval(f)]; i=i+1; elseif sA < % A > 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)>= % ve hinh voi 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)== % ve hinh voi cuc tri [x,y]=meshgrid(a-2:.1:a+2,b-2:.1:b+2); BÁO CÁO MATLAB GIẢI TÍCH 8|Page 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' ) [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)) f(i,j)=NaN;x(i,j)=NaN;y(i,j)=NaN; end end end end BÁO CÁO MATLAB GIẢI TÍCH 9|Page Ví dụ : f(x,y)= 2*x^2-3*y^2 +x*y -4 Ví dụ 2: f(x, y) = sqrt(4-x^2-y^2) BÁO CÁO MATLAB GIẢI TÍCH 10 | P a g e IV KẾT LUẬN Ưu điểm Tính toán dễ dàng, tiện lợi, cho kết quả chính xác cách tính phổ thông Giúp hiểu thêm về ứng dụng Malab các toán kỹ thuật Tiết kiệm thao tác thời gian tính toá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 phù hợp với tất cả người 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 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 BÁO CÁO MATLAB GIẢI TÍCH 11 | P a g e V NHẬN XÉT CỦA G.VIÊN HƯỚNG DẪN BÁO CÁO MATLAB GIẢI TÍCH