ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC GIÁO DỤC CAO THANH PHƯƠNG Sử dụng phần mềm Matlab trong việc giải bài toán ngược trọng lực xác định độ sâu bể trầm tích và mô hình hóa một số bà
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC GIÁO DỤC
CAO THANH PHƯƠNG
Sử dụng phần mềm Matlab trong việc giải bài toán ngược trọng lực xác định độ sâu bể trầm tích và mô hình hóa một số
bài tập Vật lý Trung học phổ thông
KHÓA LUẬN TỐT NGHIỆP NGÀNH SƯ PHẠM VẬT LÝ
Hà Nội, 2020
Trang 2LỜI CẢM ƠN
Để hoàn thành Khóa luận tốt nghiệp “Sử dụng phần mềm Matlab trong việc giải bài toán ngược trọng lực xác định độ sâu bể trầm tích và mô hình hóa một số bài tập Vật lý Trung học phổ thông”, trước tiên với lòng kính trọng và biết ơn sâu sắc, em xin được gửi lời cảm ơn chân thành đến ThS Phạm Thành Luân, bộ môn Vật Lý Địa cầu – khoa Vật Lý – trường Đại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội đã tận tình hướng dẫn, chỉ bảo và tạo điều kiện cho em hoàn thành khóa luận tốt nghiệp này Em chúc thầy luôn luôn mạnh khỏe
và thành công trong công việc và cuộc sống!
Em cũng xin gửi lời cảm ơn chân thành tới các thầy cô trong Bộ môn Vật Lý Địa cầu – khoa Vật Lý – trường Đại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội đã trang bị cho em những kiến thức khoa học cần thiết trong quá trình thực hiện khóa luận tại bộ môn Với những tình cảm chân thành, em cũng xin được cảm ơn trường Đại học Giáo Dục – Đại học Quốc Gia Hà Nội đã tạo mọi điều
kiện, hoàn cảnh thuận lợi để em có thể hoàn thành tốt khóa luận tốt nghiệp này
Cuối cùng cho phép em bày tỏ lòng biết ơn tới gia đình và bạn bè, những người
đã luôn quan tâm, động viên và là chỗ dựa tinh thành vững chắc cho em
Vì kiến thức chuyên môn còn hạn chế và bản thân còn thiếu nhiều kinh nghiệm thực tiễn nên nội dung của khóa luận không tránh khỏi những thiếu xót, em rất mong nhận sự góp ý, chỉ bảo của quý thầy cô để khóa luận của em được hoàn
thiện hơn
Em xin chân thành cảm ơn!
Trang 3DANH MỤC HÌNH ẢNH, BẢNG
Hình 1.1: Màn hình hiển thị nhập dữ liệu của bài toán ném xiên
Hình 1.2: Chương trình của bài toán ném xiên
Hình 1.3: Ném xiên trong trường hợp góc ném α= 45°
Hình 1.4: Ném xiên trong trường hợp góc ném α= 50°
Hình 1.5: Ném xiên trong trường hợp góc ném α= 55°
Hình 1.6: Chương trình của bài toán dao động điểu hòa và dao động tắt dần
Hình 1.7: Dao động điều hòa
Hình 1.8: Dao động tắt dần
Hình 1.9: Chương trình của bài toán từ trường gây bởi quả cầu
Hình 1.10: Trường từ gây bởi khối cầu
Hình 1.11: Trường từ gây bởi khối cầu biểu diễn dưới dạng các đường đồng mức
Hình 1.12: Chương trình của bài toán biểu diễn mặt sóng
Hình 1.13: Hình ảnh mặt sóng
Hình 2.1 Giao diện mật độ 3D và dạng hình học của lăng trụ 3D
Hình 3.1: Độ sâu tới đáy bể trầm tích và trường trọng lực quan sát mô hình mật
độ không đổi
Hình 3.2: Độ sâu giải ngược và trường tính từ độ sâu giải ngược, chênh lệch giữa
mô hình mật độ không đổi và kết quả tính toán
Trang 4Hình 3.3: Độ sâu tới đáy bể trầm tích và trường trọng lực quan sát mô hình mật
độ thay đổi theo độ sâu
Hình 3.4: Độ sâu giải ngược và trường tính từ độ sâu giải ngược, chênh lệch giữa
mô hình mật độ thay đổi theo độ sâu và kết quả tính toán
Hình 3.5: Mô hình thêm nhiễu
Hình 3.6: Vị trí khu vực nghiên cứu
Hình 3.7: Hàm mật độ dư (Phạm Thành Luân và cs., 2018 [7])
Hình 3.8: Dị thường trọng lực trên khu vực bể trầm tích Chintalapudi
Hình 3.9: Kết quả áp dụng thực tế khu vực bể trầm tích Chintalapudi
Bảng 3.1: Thông số độ sâu mô hình mật độ không đổi và độ sâu giải ngược
Bảng 3.2: Thông số độ sâu mô hình mật độ thay đổi và độ sâu giải ngược
Trang 5MỤC LỤC
LỜI CẢM ƠN i
DANH MỤC HÌNH ẢNH, BẢNG ii
MỞ ĐẦU 1
CHƯƠNG 1: MATLAB VÀ ỨNG DỤNG TRONG VIỆC MÔ HÌNH HÓA MỘT SỐ BÀI TẬP VẬT LÝ THPT 3
1.1 Matlab 3
1.1.1 Giới thiệu phần mềm Matlab 3
1.1.2 Môi trường làm việc trong Matlab 3
1.1.3 Các toán tử cho ma trận 5
1.1.4 Các phép tính logic 5
1.1.5 Một số hàm có sẵn 6
1.1.6 Một số lệnh điều khiển 6
1.1.7 Đồ họa 7
1.1.8 Mở và lưu file số liệu 7
1.2 Sử dụng phần mềm Matlab mô hình hóa một số bài tập Vật lý THPT 8
1.2.1 Chuyển động của vật ném xiên 8
1.2.2 Dao động điều hòa, dao động tắt dần 11
1.2.3 Trường trọng lực gây ra bởi khối cầu 13
1.2.4 Phương trình mặt sóng 15
CHƯƠNG 2: PHƯƠNG PHÁP XÁC ĐỊNH ĐỘ SÂU BỂ TRẦM TÍCH 17
2.1 Phương pháp Granser 18
2.2 Tổ hợp phương pháp xác định độ sâu bể trầm tích 24
CHƯƠNG 3: MÔ HÌNH HÓA VÀ ÁP DỤNG THỰC TẾ 26
3.1 Mô hình 26
3.1.1 Mô hình mật độ không đổi 26
Trang 63.1.2 Mô hình mật độ thay đổi theo độ sâu 30
3.1.3 Mô hình thêm nhiễu 33
3.2 Áp dụng thực tế 35
KẾT LUẬN 39
TÀI LIỆU THAM KHẢO 40
Trang 7Thăm dò trọng lực là một trong những phương pháp nghiên cứu cấu trúc bên trong Trái Đất, cấu tạo địa chất, tìm kiếm và thăm dò các loại khoáng sản Hiện nay ở nước ta, phương pháp thăm dò trọng lực được áp dụng thường xuyên
và phổ biến như một trong các phương pháp cơ bản nhất trong việc nghiên cứu địa chất cũng như tìm kiếm khoáng sản, tài nguyên thiên nhiên Giải bài toán ngược trọng lực xác định độ sâu ranh giới phân chia mật độ là một kĩ thuật cổ điển và vẫn tiếp tục được phát triển trong thăm dò địa vật lý, đặc biệt là trong lĩnh vực tìm kiếm và thăm dò khoáng sản Hai nhóm phương pháp thường được
sử dụng là phương pháp trong miền không gian và phương pháp trong miền tần
số
Trong khóa luận này, em sử dụng phần mềm Matlab thực hiện xác định độ sâu của bể trầm tích thông qua việc kết hợp phương pháp miền không gian và phương pháp miền tần số Bên cạnh đó, em cũng xây dựng một số chương trình phần mềm để mô phỏng, mô hình hóa một số bài tập cơ bản trong chương trình Vật lý phổ thông Qua đó giúp việc học tập môn Vật lý của học sinh trở nên hứng thú và đạt hiệu quả cao hơn
Khóa luận được thực hiện với tiêu đề “Sử dụng phần mềm Matlab trong việc giải bài toán ngược trọng lực xác định độ sâu bể trầm tích và mô hình
Trang 8hóa một số bài tập Vật lý Trung học phổ thông” và được chia thành 3
chương:
Chương 1: Matlab và ứng dụng trong việc mô hình hóa một số bài tập Vật
lý THPT
Chương 2: Phương pháp xác định độ sâu bể trầm tích
Chương 3: Mô hình hóa và áp dụng thực tế
Trang 9CHƯƠNG 1: MATLAB VÀ ỨNG DỤNG TRONG VIỆC MÔ HÌNH HÓA
MỘT SỐ BÀI TẬP VẬT LÝ THPT 1.1.Matlab
1.1.1 Giới thiệu phần mềm Matlab
Matlab (matrrix laboratory) là một bộ chương trình phần mềm lớn của
công ty MathWork, là ngôn ngữ có tính năng cao trong tính toán khoa học, kỹ thuật và được sử dụng rộng rãi tại nhiều trường đại học, viện nghiên cứu trong nước và trên thế giới Matlab có thể chạy được dưới nhiều hệ điều hành, trên nhiều loại máy tính, từ các máy vi tính đến các siêu máy tín Với thư viện các hàm phong phú, Matlab cho phép giải quyết các bài toán với các đối tượng khác nhau là đại lượng vô hướng, vector, các hệ phương trình tuyến tính, phi tuyến, hay các xâu kí tự,… với kết quả nhanh chóng và chính xác Matlab cho phép xử
lý dữ liệu, biểu diễn đồ họa một cách linh hoạt, đơn giản và chính xác trong không gian hai chiều cũng như ba chiều, giúp người sử dụng có thể quan sát kết quả một cách trực quan và đưa ra giải pháp tốt nhất Do được tích hợp cùng với một số ngôn ngữ lập trình thông dụng khác như C, C++, Fortran, Java,… nên những ứng dụng của Matlab có thể dễ dàng chuyển đổi sang các ngôn ngữ đó
1.1.2 Môi trường làm việc trong Matlab
Matlab là một ngôn ngữ thông dịch khi làm việc trong môi trường của nó Matlab thực hiện việc quản lý tệp lệnh và tệp hàm (các m-file) ở thư mục hiện hành và các thư mục trên đường dẫn path Các thư mục này thuộc miền quản lý của Matlab Chúng ta có thể bổ sung thêm các thư mục mới vào miền quản lý của Matlab bằng addpath [1, 2]
Trang 101.1.2.1 Khởi động và đóng Matlab
Để khởi động: ta kích đúp chuột trái vào biểu tượng Matlab
Môi trường Matlab gồm các phần chính: Không gian làm việc (work space) để lưu trữ các biến trong quá trình tính toán; một cửa sổ lệnh (command window)
để nhập lệnh và hiển thị kết quả dạng số, xâu ký tự và biểu thức; các cửa sổ đồ hoạ (Figure) để hiển thị các kết quả dạng đồ thị, hình ảnh; một cửa sổ soạn thảo (Editor) để soạn thảo chương trình; các thư viện hàm ngoài
Để đóng Matlab: kích chuột trái vào [x] ở cửa sổ lệnh Matlab
1.1.2.2 Làm việc ở chế độ hội thoại:
Trong chế độ hội thoại MatLab cho phép ta nhập trực tiếp các lệnh từ bàn phím và nhận kết quả xử lý các lệnh này Chế độ hội thoại chỉ nên sử dụng khi giải các bài toán nhỏ, có cấu trúc đơn giản, chỉ sử dụng 1 lần Mỗi lần Matlab chỉ
xử lý từng dòng lệnh nhập một
+ Tại dấu mời >> của MatLab trong cửa sổ lệnh ta nhập dòng lệnh cần xử
lý, rồi bấm Enter để thực hiện dòng lệnh này Trên một dòng lệnh có thể nhập nhiều lệnh, các lệnh cách nhau bởi dấu phẩy < , > hoặc dấu chấm phẩy < ; > Với một lệnh dài hoặc dòng lệnh dài, để thông báo cho MatLab biết dòng hiện thời còn tiếp tục xuống dòng dưới, ta dùng 3 dấu chấm liền nhau < … > , bấm Enter
để xuống dòng, rồi lại gõ tiếp
+ Khi gặp lệnh thực hiện được, nếu kết quả có dạng số, dạng ký tự hoặc biểu thức toán và sau lệnh này không có dấu chấm phẩy < ; > ,thì MatLab sẽ đưa kết quả ra ở cửa sổ lệnh; nếu kết quả là hình ảnh, nó sẽ được đưa kết quả ra cửa
sổ đồ hoạ Khi gặp lệnh không thực hiện được, matlab sẽ thông báo lỗi ở cửa sổ
Trang 111.1.2.3 Làm việc ở chế độ lập trình:
Các lệnh được soạn thảo trong các tệp văn bản có phần mở rộng là <.m> Các tệp này (m-file) được chia làm 2 loại: Các tệp lệnh (m-script file) và các tệp hàm (m-function file) Có thể chạy các tệp này từ cửa sổ lệnh hoặc từ cửa sổ soạn thảo Các hàm nếu có biến vào thì chỉ có thể chạy được từ cửa sổ lệnh
1.1.3 Các toán tử cho ma trận
• A+B : cộng ma trận A và B (2 ma trận cùng kích thuớc)
• A - B : trừ ma trận A và B (2 ma trận cùng kích thuớc)
• A*B : nhân ma trận (số cột của A bằng số hàng của B)
• A.*B : nhân từng phần tử của A và B (A, B cùng kích thước)
• inv(A) : nghịch đảo A
• B/A= (A'\B')' hay xấp xỉ B*inv(A)
• B./A: chia từng phần tử của B cho A (A, B cùng kích thước)
• A\B: nếu A là ma trận vuông, A\B xấp xỉ inv(A)*B Nếu A là ma trận nxn và B là vector cột với n phần tử thì X = A\B là lời giải cho hệ đảng thức AX
= B
• A.^B: lũy thừa từng phần tử của A với từng phần tử của B
1.1.4 Các phép tính logic
Phép so sánh: Lớn hơn: > , bé hơn: < , bằng: ==, lớn hơn hoặc bằng: >=,
bé hơn hoặc bằng : <=, không bằng: ~=, phủ định: ~ , hoặc: | , và: &, …
Trang 13Mesh(x,y,U) hoặc Surf(x,y,U)
1.1.8 Mở và lưu file số liệu
Mở file: Importdata
Ví dụ: sl = importdatắdatạdat')
Lưu file: Save
Ví dụ: save('datạdat','sl','-ascií)
Trang 141.2 Sử dụng phần mềm Matlab mô hình hóa một số bài tập Vật lý THPT
Phần mềm Matlab được các nhà Vật lý sử dụng như một công cụ tiện ích cho khảo sát, và xử lý số liệu Vật lý Trong chương trình Vật lý phổ thông, hầu hết các bài toán đều có thể mô hình hóa hoặc mô phỏng nhưng trong phạm vi của khóa luận tôi chọn những bài toán điển hình nhất để mô tả thông qua việc xây dựng các chương trình cho máy tính Công việc này cũng đồng thời tạo tiền
đề, cơ sở cho những nghiên cứu ở chương sau
1.2.1 Chuyển động của vật ném xiên
Bài toán
Từ một đỉnh tháp cao H người ta ném một hòn đá xuống đất với vận tốc v theo phương hợp với mặt phẳng ngang một góc α Bỏ qua sức cản của không khí Với H, v, α không bị giới hạn Trong bài toán dưới đây, chúng tôi chọn vận tốc ban đầu là 25 m/s, vị trí ban đầu theo phương ngang là 0 m, vị trí ban đầu theo phương thẳng đứng là 20 m, góc ném là α thay đổi
Hình 1.14: Màn hình hiển thị nhập dữ liệu của bài toán ném xiên
Chương trình
Trang 15Chúng tôi xây dựng chương trình mô phỏng hiện tượng ném xiên của vật nặng với các thông số như trên Tuy nhiên, chúng tôi lưu ý rằng tất cả các thông
số đầu vào của vật nặng có thể thay đổi thông qua việc chỉnh sửa code chương trình Quá trình ném xiên được mô phỏng trực quan và sinh động như kết quả
như hình vẽ bên dưới
Hình 1.15: Chương trình của bài toán ném xiên
Trang 16Kết quả hiển thị
Hình 1.16: Ném xiên trong trường hợp góc ném α= 45°
Trang 17Hình 1.18: Ném xiên trong trường hợp góc ném α= 55°
1.2.2 Dao động điều hòa, dao động tắt dần
2
t
x e t
Biểu diễn tọa độ li độ
của vật theo thời gian
Chương trình
Trang 18Hình 1.19: Chương trình của bài toán dao động điểu hòa và dao động tắt dần Kết quả hiển thị
Trang 19Chương trình
Trang 20Hình 1.22: Chương trình của bài toán từ trường gây bởi quả cầu
Kết quả hiển thị
Trang 21Hình 1.24: Trường từ gây bởi khối cầu biểu diễn dưới dạng các đường đồng mức
Trang 22Hình 1.25: Chương trình của bài toán biểu diễn mặt sóng Kết quả hiển thị
Hình 1.26: Hình ảnh mặt sóng
Trang 23CHƯƠNG 2: PHƯƠNG PHÁP XÁC ĐỊNH ĐỘ SÂU BỂ TRẦM TÍCH
Trong thăm dò trọng lực, để xác định chính xác độ sâu tới đáy các bể trầm tích, người ta thường sử dụng phương pháp miền không gian hay còn được gọi là phương pháp lựa chọn Ý tưởng chung của các phương pháp đó là chia nhỏ mô hình thành các tập hợp các lăng trụ (Hình 2.1) [3] Dị thường trọng lực gây bởi các lăng trụ tính toán một cách đơn lẻ và trường quan sát được tính bằng tổng trường gây bởi các lăng trụ đó (Phương trình 2.1)
Trong đó là mật độ dư, 2T, 2W là kích thước lăng trụ theo trục x,y; z1, z2
là độ sâu tới đỉnh và đáy
Khi các mô hình phức tạp và có một lượng lớn các điểm quan sát, thì quá trình tính toán đòi hỏi rất nhiều thời gian do số lượng các phép tính tăng tỉ lệ thuận với tích số điểm quan sát và số vật thể trong mô hình
Hình 2.1 Giao diện mật độ 3D và dạng hình học của lăng trụ 3D
Trang 24Để khắc phục hạn chế đó, Granser [1] và Parker [2] đã đưa ra phương pháp tính toán trong miền tần số, dựa trên phép biến đổi Fourier để xác định dị thường trọng lực cho mô hình lớp vật chất không phẳng, có mật độ không đồng nhất Oldenburg [3] và Granser [1] đã sắp xếp lại công thức xác định dị thường trọng lực và đưa ra công thức xác định độ sâu cho các ranh giới phân chia mật độ Tuy nhiên, phương pháp kể trên yêu cầu sử dụng một bộ lọc thông thấp, dẫn đến việc cắt bỏ các thông tin tần số cao Do đó, kết quả tính toán sẽ bị làm trơn Một hạn chế khác của phương pháp là yêu cầu biết trước độ sâu trung bình của ranh giới phân chia mật độ Để khắc phục những hạn chế của các phương pháp kể trên, chúng tôi kết hợp việc tính toán thuận trong miền tần số theo phương pháp của Granser, và tính toán ngược trong miền không gian theo phương pháp của Chakravarthi và cs [4]
2.1 Phương pháp Granser
Xét mô hình gồm một lớp cấu trúc được giới hạn bởi hai mặt ranh giới
Chọn hệ trục tọa độ với trục z hướng lên trên Mặt ranh giới dưới được giới hạn bởi mặt phẳng ngang z = 0, Mặt ranh giới trên được giới hạn bởi phương trình z=h(r).Các điểm quan sát thuộc mặt phẳng z = , mặt phẳng này nằm trên tất cả các địa hình Vì chiều dài của lớp vật liệu là hữu hạn và để tránh những vấn đề hội tụ, chúng tôi giả sử rằng bên ngoài miền D nào đó không có sự xuất hiện của
lớp vật liệu, tức là ngoài miền D thì h (r) = 0, Thế trọng lực tại vị trí gây bởi lớp vật liệu là: