ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG BÁO CÁO BÀI TẬP LỚN XÁC ĐỊNH LỰC TƯƠNG TÁC TĨNH ĐIỆN GIỮA CÁC ĐIỆN TÍCH ĐIỂM TRONG CHÂN KHÔNG LỚP
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG
BÁO CÁO BÀI TẬP LỚN
XÁC ĐỊNH LỰC TƯƠNG TÁC TĨNH ĐIỆN GIỮA CÁC ĐIỆN TÍCH ĐIỂM TRONG CHÂN
KHÔNG
LỚP L40, NHÓM 06
1
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG
BÁO CÁO BÀI TẬP LỚN XÁC ĐỊNH LỰC TƯƠNG TÁC TĨNH ĐIỆN GIỮA CÁC ĐIỆN TÍCH ĐIỂM TRONG CHÂN KHÔNG
LỚP L40, NHÓM 06
GVHD: Thầy Nguyễn Hoàng Giang
Thầy Nguyễn Minh Châu
Sinh viên thực hiện MSSV
Trang 44
DANH SÁCH THÀNH VIÊN
STT HỌ VÀ TÊN MSSV ĐÓNG GÓP
1
2
3
4
5
6
Trang 5LỜI CẢM ƠN
Trong suốt quá trình thực hiện tiểu luận nói trên, nhóm chúng tôi đã nhận được rất nhiều sự quan tâm và ủng hộ, giúp đỡ tận tình của thầy cô, anh chị em và bè bạn
Ngoài ra, nhóm cũng xin gửi lời tri ân chân thành nhất đến thầy Nguyễn Hoàng Giang, là giảng viên hướng dẫn cho đề tài matlab này Và thầy Nguyễn Minh Châu, là giảng viên dạy cơ sở lý thuyết vật lí Nhờ có các thầy hết lòng chỉ bảo mà nhóm đã hoàn thành tiểu luận đúng tiến độ và giải quyết tốt những vướng mắc gặp phải Sự hướng dẫn của các thầy đã là kim chỉ nam cho mọi hành động của nhóm và phát huy tối đa được mối quan hệ hỗ trợ giữa thầy và trò trong môi trường giáo dục
Lời cuối, xin một lần nữa gửi lời biết ơn sâu sắc đến các cá nhân, các thầy đã dành thời gian chỉ dẫn cho nhóm Đây chính là niềm tin, nguồn động lực to lớn để nhóm có thể đạt được kết quả này
Nhóm thực hiện đề tài matlab
1 Phan
2 Châu
3 Nguyễn
4 Nguyễn
5 Nguyễn
6 Lê
Trang 65
MỤC LỤC
PHẦN 1: ĐỀ TÀI 6 PHẦN2: CƠSỞLÝ THUYẾT 7 PHẦN 3: PHƯƠNG PHÁP GIẢI BÀI TOÁN 8 PHẦN 4: CÁC HÀM MATLAB CƠ BẢN ĐƯỢC SỬ DỤNG TRONG BÀI TOÁN VÀ CODE HOÀN CHỈNH 9 PHẦN 5: KẾT LUẬN 18
Trang 7PHẦN 1: ĐỀ TÀI
Bài tập 4:
Xác định lực tương tác tĩnh điện giữa các điện tích điểm trong chân không
1 Yêu cầu
Lực tương tác tĩnh điện do điện tích điểm tác dụng lên điện tích điểm n q0được xác định bằng nguyên lý chồng chất
i i F
F
Trong đó, Fi là lực tĩnh điện do điện tích điểm thứ i tác dụng lên điện tích Lực này được xác q0
định bằng định luật Coulomb:
r i
r
q k
2
Với, 9 2 2
/
10
k ; r - khoảng cách giữa điện tích điểm thứ i và điện tích điểm q0
Bài tập này yêu cầu sinh viên sử dụng Matlab để tính toán các thành phần Fx, Fycủa lực tương tác tĩnh điện giữa các điện tích điểm trong mặt phẳng Oxy
2 Điều kiện
1) Sinh viên cần có kiến thức về lập trình cơ bản trong MATLAB
2) Tìm hiểu các lệnh Matlab liên quan symbolic và đồ họa
3 Nhiệm vụ
Xây dựng chương trình Matlab:
1) Nhập số điện tích điểm
2) Nhập tọa độ và điện tích của mỗi điện tích điểm trong mặt phẳng Oxy
3) Dùng các phép toán hình thức (symbolic) để tính các thành phần Fx và Fy của lực tĩnh điện
do các điện tích còn lại tác dụng lên mỗi điện tích
Chú ý: Sinh viên có thể dùng các cách tiếp cận khác không dùng symbolic
Trang 87
PHẦN 2: CƠ SỞ LÝ THUYẾT
1/ Kiến thức vận dụng
Đinh luật Coulomb: lực tương tác tĩnh điện giữa hai điện tích điểm đặt trong chân không:
- Có phương nằm trên đường thẳng nối hai điện tích
- Có chiều phụ thuộc vào dấu của hai điện tích: hai điện tích cùng dấu sẽ đẩy nhau, hai điện tích trái dấu sẽ hút nhau
- Có độ lớn tỉ lệ thuận với tích độ lớn hai điện tích và tỉ lệ nghịch với bình phương khoảng cách giữa hai điện tích
Lực tương tác tĩnh điện do điện tích điểm tác dụng lên điện tích điểm n q0được xác định bằng nguyên lý chồng chất:
i i F
F
Trong đó, Fi là lực tĩnh điện do điện tích điểm thứ i tác dụng lên điện tích q0 Lực này được xác định bằng định luật Coulomb:
r i
r
q k
2
Với, 9 2 2
/ 10
k ; r - khoảng cách giữa điện tích điểm thứ i và điện tích điểm q0
Trang 98
PHẦN 3: PHƯƠNG PHÁP GIẢI BÀI TOÁN Bước 1: Nhập số điện tích điểm (n), tạo các ma trận để lưu các giá trị, khai báo biến x, y Bước 2: Cho i chạy từ 1 => n
Bước 2.1: Nhập tọa độ điện tích và giá trị điện tích tương ứng
Bước 2.2: Cho j chạy từ 1 => n
Bước 2.2.1: Tính toán các giá trị lực tĩnh điện j tác động lên i, xác định chiều của lực và gán vào ma trận
Bước 3: Biến đổi các ma trận để tổng hợp lực theo phương Ox, Oy
Bước 4: Cho i chạy từ 1 => n
Bước 4.1: Xuất giá trị lực theo phương Ox, Oy Thực hiện đến i=n và kết thúc
Trang 109
PHẦN 4: CÁC HÀM MATLAB CƠ BẢN ĐƯỢC SỬ DỤNG TRONG BÀI TOÁN
VÀ CODE HOÀN CHỈNH 4.1 Các hàm matlab cơ bản được sử dụng:
1/ Tổng quan về MATLAB
MATLAB (Matrix Laboratory) là một phần mềm khoa học được thiết kế để cung cấp việc tính toán số và hiển thị đồ họa bằng ngôn ngữ lập trình cấp cao MATLAB cung cấp các tính năng tương tác tuyệt vời cho phép người sử dụng thao tác dữ liệu linh hoạt dưới dạng mảng ma trận để tính toán và quan sát Các dữ liệu vào của MATLAB có thể được nhập từ "Command line" hoặc từ "mfiles", trong đó tập lệnh được cho trước bởi MATLAB
MATLAB cung cấp cho người dùng các toolbox tiêu chuẩn tùy chọn Người dùng cũng
có thể tạo ra các hộp công cụ riêng của mình gồm các "mfiles" được viết cho các ứng dụng cụ thể
2/ Các hàm matlab cơ bản được sử dụng trong bài toán:
2.1 Lệnh CLC
a) Công dụng:
Xóa cửa sổ lệnh
b) Cú pháp:
clc
2.2 Lệnh CLEAR
a) Công dụng:
Xóa các đề mục trong bộ nhớ
b) Cú pháp:
clear
clear name
clear name1 name2 name3
clear functions
clear variables
clear mex
clear global
clear all
Trang 1110
c) Giải thích:
clear: xóa tất cả các biến khỏi vùng làm việc
clear name: xóa các biến hay hàm được chỉ ra trong name
clear functions: xóa tất cả các hàm trong bộ nhơ
clear variables: xóa tất cả các biến ra khỏi bộ nhớ
clear mex: xóa tất cả các tập tin mex ra khỏi bộ nhớ
clear: xóa tất cả các biến chung
clear all: xóa tất cả các biến, hàm, và các tập tin mex khỏi bộ nhớ Lệnh này làm cho bộ nhớ trống hoàn toàn
2.3 Lệnh INPUT
a) Công dụng:
Dùng để nhập vào 1 giá trị
b) Cú pháp:
tên biến = input (‘promt’)
tên biến = input (‘promt’, ‘s’)
c) Giải thích:
tên biến, là nơi lưu giá trị ngập vào
‘promt’: chuỗi ký tự muốn nhập vào
‘s’: cho biết giá trị nhập vào là nhiều ký tự
2.4 Lệnh ZEROS
a) Công dụng:
Tạo ma trận mà giá trị của các phần tử
b) Cú pháp:
y = zeros(n)
y = zeros(m,n)
c) Giải thích:
y: tên ma trận
Trang 1211
n: tạo ma trận có n hàng và n cột
m, n: tạo ma trận có m hàng, n cột
2.5 Lệnh SUM
a) Công dụng:
Tính tổng của các phần tử
b) Cú pháp:
s = sum(x)
c) Giải thích:
s: là biến chứa kết quả
x: là tên ma trận
Nếu x là ma trận thì s là tổng của các cột
2.6 Lệnh SYMS
a) Công dụng:
Khai báo biến
b) Cú pháp:
Syms x…
2.7 Lệnh DISP
a) Công dụng:
Trình bày nội dung của biến (x) ra màn hình
b) Cú pháp:
disp (x)
c) Giải thích:
x: là tên của ma trận hay là tên của biến chứa chuỗi ký tự, nếu trình bày trực tiếp chuỗi ký
tự thì chuỗi ký tự được đặt trong dấu ‘’
2.8 Lệnh IF
a) Công dụng:
Trang 1312
Thực hiện lệnh khi thỏa điều kiện
b) Cú pháp:
if biểu thức luận lý 1
thực hiện công việc 1;
end
c) Giải thích:
Khi biểu thức luận ký 1 đúng thì thực hiện công việc 1
Biểu thức luận lý là các phép so sánh ==, <, >, <=, >=
công việc chính là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải có dấu ; 2.9 Lệnh END
Thông báo kết thúc 1 câu lệnh, thường là câu lệnh vònglặp như for
2.10 Lệnh NUM2STR
a) Công dụng:
Chuyễn số thực sang dạng chuỗi
Chuyển các ký tự trong một chuỗi sang số thứ tự tương ứng trong bảng mã ASCII b) Cú pháp:
kq = num2tr(n)
c) Giải thích:
kq: biến chứa kết quả
n: tên biến cần chuyển
Nếu n là số thực thì kq là số tương ứng trong bảng mã ASCII
4.2 Code hoàn chỉnh:
clc;
clear;
n=input('Nhap vao so dien tich diem, n= ');
x=zeros(1, n);
Trang 1413
y=zeros(1, n);
q=zeros(1, n);
Fx=zeros(n); Fy=zeros(n);
syms x y;
for i= 1:n
disp('Nhap vao toa do cua dien tich diem') ;
x(i)=input('x= ');
y(i)=input('y= ');
q(i)=input ('gia tri cua dien tich, q(i)= ');
end
for i=1:n
for j= 1: n
r= sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);
if r~=0
F= abs(9*10^9*q(i)*q(j))/r^2;
if (x(i)-x(j)) ~= 0
Fx (i, j)= F*abs(x(i)-x(j))/r;
if (x(i)-x(j)>0)
if (q(i)*q(j)<0)
Fx(i,j)=-Fx(i,j);
end
end
if (x(i)-x(j)<0)
if (q(i)*q(j)>0)
Fx(i,j)=-Fx(i,j);
end
end
end
if (y(i)-y(j)) ~=0
Fy (i, j)= F*abs(y(i)-y(j))/r;
if (y(i)-y(j)>0)
Trang 1514
if (q(i)*q(j)<0)
Fy(i,j)=-Fy(i,j);
end
end
if (y(i)-y(j)<0)
if (q(i)*q(j)>0)
Fy(i,j)=-Fy(i,j);
end
end
end
end
end
end
a=sum(Fx, 2);
b=sum(Fy, 2);
for i= 1:n
disp (['Fx(', num2str(i) , ') = ', num2str(a(i))]);
disp (['Fy(', num2str(i) , ') = ', num2str(b(i))]);
end
Trang 1615
Hình 1: Chương trình code được nhập trên Matlab
Trang 1716
Ví dụ minh họa:
Ví dụ 1: Trong mặt phẳng Oxy, cho 2 điện tích có giá trị q1 = 10 (C), q = 10-5 2 -6 (C), tọa độ của 2 điện tích điểm lần lượt là ( 2, 1); (1, 2) Tính các thành phần - Fx và Fycủa lực tĩnh điện do q1 tác dụng lên q và ngược lại.2
Hình 2: Kết quả chạy code ví dụ 1
Ví dụ 2: Trong mặt phẳng Oxy, cho 3 điện tích có giá trị q1 = 1,2.10-6 (C), q2 = 3,5.10 (C), q-5 3 = -2,8.10-6 (C), tọa độ của 3 điện tích điểm lần lượt là (-1, -3); (1, 2); (-1, 4) Tính các thành phần
Fx và Fycủa lực tĩnh điện do các điện tích còn lại tác dụng lên mỗi điện tích
Trang 1817
Hình 3: Kết quả chạy code ví dụ 2
Trang 1918
PHẦN 5: KẾT LUẬN
Với sự phân công chuẩn bị kỹ lưỡng và cố gắng hế tmình, nhóm đã hoàn thành đề tài được giao
và Matlab cho ra kết quả như mong muốn
Giải được các phương trình vật lý bằng công cụ Symbolic và công cụ giải số trong MATLAB Phân tích được ý nghĩa vật lý của các kết quả thu được từ chương trình
Qua phần bài tập lớn này nhóm đã:
Biết dược thao tác giải toán trên Matlab
Nâng cao sự hứng thú đối với môn học
Trao dồi kỹ năng học tập và làm việc nhóm
TÀI LIỆU THAM KHẢO:
1/ A L Garcia and C Penland, MATLAB Projects for Scientists and Engineers, Prentice Hall, Upper Saddle River, NJ, 1996 http://www.algarcia.org/fishbane/fishbane.html
2/ Nguyễn Phùng Quang (2006), “Matlab và Simulink Dành cho Kỹ sư điều khiển tự
đồng”, NXB Khoa Học & Kỹ Thuật
3/ Nguyễn Thị Bé Bảy – Huỳnh Quang Linh – Trần Thị Ngọc Dung (2009) Vật Lý Đại Cương Nhà xuất bản Đại học Quốc Gia
4/ Bài giảng lý thuyết môn vật lí 1 (giảng viên: thầy Nguyễn Minh Châu)