Xác định lực tương tác tĩnh điện giữa giữa các điện tích điểm trong chân không không
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 đ iểm trong chân không 1. Yêu cầu Lực tương tác tĩnh điện do n điện tích điểm tác dụng lên điện tích điểm q 0 0 được xác định bằng nguyên lý chồng chất.
Trong đó, 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 q 0 0. Lực này được xác định bằng định luật Coulomb:
Với điểm q 0 0 .
; r - khoảng cách giữa điện tích điểm thứ i và điện tích
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 F x x , F y y củ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.
F y của lực 3) Dùng các phép toán hình thức (symbolic) để tính các thành phần F x và 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. 4. Tài liệu tham khảo: 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.
% Coulombforce – Xac dinh luc tuong tac tinh dien giau cac dien tich diem trong chan khong % Nhap ten nhom: Username = input(' Ten nhom : ','s') %@ Khoi tao bien, cac hang so vat ly NCharges = input('Nhap so luong dien tich diem: ') for iCharges=1:NCharges fprintf(' ----- \n Dien tich thu #%g \n',iCharges); r_in = input('Nhap toa do dien tich [x y]: '); x(iCharges) = r_in(1); % Toa do x cua dien tich y(iCharges) = r_in(2); % Toa do y cua dien tich q(iCharges) = input('Nhap dien tich q cua dien tich diem: '); end
%@ Tim xmin, xmax, ymin, and ymax xmin=min(x)-1; ymin=min(y)-1; xmax=max(x)+1; ymax=max(y)+1;
Epsilon0 = 8.85e-12; % He so dien moi trong chan khong (C^2/(N m^2))
Constant = 1/(4*pi*Epsilon0); % Hang so Coulomb
%@ Vong qua cac dien tich diem khac de tinh toan luc tuong tac tren dien tich nay fprintf(' Forces are: \n\n'); for iCharges = 1:NCharges
%Khoi tao thanh phan cua luc tac dung bang 0 (Fx, Fy) Fx = 0.0; Fy = 0.0;
%@Xet cac dien tich diem khac de tinh toan luc tuong tac tren moi dien tich for jCharges = 1:NCharges if( iCharges ~= jCharges ) % Neu dien tich i khong bang dien tich j %@ Tinh toan cac thanh phan cua vector khoang cach giua hai đien tich xij = x(iCharges ) - x(jCharges ); yij = y(iCharges) - y(jCharges ); Rij = sqrt(xij^2 + yij^2);
%@ Tinh cac thanh phan Fx, Fy cua luc tinh dien giua hai dien tich su dung dinh luat Coumlomb(Nguyen ly chong chat dien truong) Fx = Fx + Constant*q(iCharges)*q(jCharges)*xij/Rij^3; Fy = Fy + Constant*q(iCharges)*q(jCharges)*yij/Rij^3;
end end Fxnet(iCharges) = Fx; Fynet(iCharges) = Fy; %@ Dua ra tong cac luc tinh dien tren 1 dien tich do cac dien tich khac tac dung len fprintf('Luc tac dung len dien tich la: \ n',iCharge);
fprintf(' x-Luc Fx: fprintf(' y-Luc Fy:
%g N \n',Fx); %g N \n',Fy);
end
%@ Ve duong bieu dien(vector) vi tri cac dien tich
figure(gcf);
%( tạo ra một cửa s ổ hình m ới, và trả v ề xử lý của nó)
plot(x,y,'bo'); axis([xmin xmax ymin ymax]); % Xac dinh ti le x , y tren truc cua no for j = 1:NCharges text(x(j),y(j),sprintf(' %g',j)); % Viet dinh dang du lieu chuoi % MATLAB sẽ ghi đè việc chuy ển đổi quy định , và sử dụng % e .
end %@ Xac dinh luc tac dung truc tiep vao vi tri cua cac dien tich diem hold on; quiver(x,y,Fxnet,Fynet,'r');
% Ve vector bieu dien luc tuong tac
xlabel('x (m)'); ylabel('y (m)'); title(['Coulomb F: Luc tuong tac giua cac dien tich diem trong chan khong']);
hold off;
% Coulombforce – Xac dinh luc tuong tac tinh dien giau cac dien tich diem trong chan khong % Nhap ten nhom: Username = input(' Ten nhom : ','s'); %@ Khoi tao bien, cac hang so vat ly NCharges = input('Nhap so luong dien tich diem: '); for iCharges=1:NCharges fprintf(' ----- \n Dien tich thu #%g \n',iCharges); r_in = input('Nhap toa do dien tich [x y]: '); x(iCharges) = r_in(1); % Toa do x cua dien tich y(iCharges) = r_in(2); % Toa do y cua dien tich
q(iCharges) = input('Nhap dien tich q cua dien tich diem: '); end %@ Tim xmin, xmax, ymin, and ymax xmin=min(x)-1; ymin=min(y)-1; xmax=max(x)+1; ymax=max(y)+1; Epsilon0 = 8.85e-12; % He so dien moi trong chan khong (C^2/(N m^2)) Constant = 1/(4*pi*Epsilon0); % Hang so Coulomb %@ Vong qua cac dien tich diem khac de tinh toan luc tuong tac tich nay fprintf(' Forces are: \n\n'); for iCharges = 1:NCharges
tren dien
%Khoi tao thanh phan cua luc tac dung bang 0 (Fx, Fy) Fx = 0.0; Fy = 0.0; %@Xet cac dien tich diem khac de tinh toan luc tuong tac tren moi dien tich for jCharges = 1:NCharges if( iCharges ~= jCharges ) % Neu dien tich i khong bang dien tich j %@ Tinh toan cac thanh phan cua vector khoang cach giua hai ?ien tich xij = x(iCharges ) - x(jCharges ); yij = y(iCharges) - y(jCharges ); Rij = sqrt(xij^2 + yij^2); %@ Tinh cac thanh phan Fx, Fy cua luc tinh dien giua hai dien tich su dung dinh luat Coumlomb(Nguyen ly chong chat dien truong) Fx = Fx + Constant*q(iCharges)*q(jCharges)*xij/Rij^3; Fy = Fy + Constant*q(iCharges)*q(jCharges)*yij/Rij^3; end end Fxnet(iCharges) = Fx; Fynet(iCharges) = Fy; %@ Dua ra tong cac luc tinh dien tren 1 dien tich do cac dien tich khac tac dung len fprintf('Luc tac dung len dien tich #%g la: \n' ,iCharges); fprintf(' x-Luc Fx: %g N \n',Fx); fprintf(' y-Luc Fy: %g N \n',Fy); end %@ Ve duong bieu dien(vector) vi tri cac dien tich figure(gcf); % tao ra 1 cua so moi va tra ve gia tri cua no plot(x,y,'bo'); axis([xmin xmax ymin ymax]); % Xac dinh ti le x, y tren truc cua no for j = 1:NCharges text(x(j),y(j),sprintf(' %g',j)); % Viet dinh dang du lieu chuoi % MATLAB se ghi de viec chuyen doi quy dinh va su dung % e .
end %@ Xac dinh luc tac dung truc tiep vao vi tri cua cac dien tich diem hold on; quiver(x,y,Fxnet,Fynet,'r'); % Ve vector bieu dien luc tuong tac xlabel('x (m)'); ylabel('y (m)'); title(['Coulomb F: Luc tuong tac giua cac dien tich diem trong chan khong']);
hold off;
% Xac dinh luc tuong tac tinh dien giua cac dien tich diem trong chan khong % Nhap ten nhom: Tenhom= input(' Ten nhom : ','s'); %@ Khoi tao bien, cac hang so vat ly N= input('Nhap so luong dien tich diem: '); for i=1:N fprintf(' ----- \n Dien tich thu #%g \n',i); Tdo= input('Nhap toa do dien tich [x y]: '); x(i) = Tdo(1); % Toa do x cua dien tich y(i) = Tdo(2); % Toa do y cua dien tich q(i) = input('Nhap dien tich q cua dien tich diem: '); end
%@ Tim xmin, xmax, ymin, and ymax xmin=min(x)-1; ymin=min(y)-1; xmax=max(x)+1; ymax=max(y)+1;
Epsilon0 = 8.85e-12; % He so dien moi trong chan khong (C^2/(N m^2)) k= 1/(4*pi*Epsilon0); k=9e+9; % Hang so Coulomb
%@ Vong qua cac dien tich diem khac de tinh toan luc tuong tac tren dien tich dang xet fprintf(' Luc tac dung: \n\n'); for i = 1:N
%Khoi tao thanh phan cua luc tac dung bang 0 (Fx, Fy) Fx = 0.0; Fy = 0.0;
%@Xet luc tuong tac giua cac dien tich diem khac tren dien tich dang xet for j = 1:N if( i ~= j ) % Neu dien tich i khong bang dien tich j %@ Tinh toan cac thanh phan cua vector khoang c ach giua hai dien tich xij = x(i ) - x(j ); yij = y(i) - y(j ); Rij = sqrt(xij^2 + yij^2);
%@ Tinh cac thanh phan Fx, Fy cua luc tinh dien giua hai dien tich su dung dinh luat Coumlomb (Nguyen ly chong chat dien truong) Fx = Fx + Constant*q(i)*q(j)*xij/Rij^3; Fy = Fy + Constant*q(i)*q(j)*yij/Rij^3;
end end Fxnet(i) = Fx; Fynet(i) = Fy; %@ Dua ra tong cac luc tinh dien tren 1 dien tich do cac dien tich khac tac dung len
fprintf('Luc tac dung len dien tich #%g la: \n' ,i); fprintf(' x-Luc Fx: %g N \n',Fx); fprintf(' y-Luc Fy: %g N \n',Fy);
end
%@ Ve duong bieu dien(vector) vi tri cac dien tich
figure(gcf);
% tao ra 1 cua so moi va tra ve gia tri cua no
plot(x,y,'bo'); axis([xmin xmax ymin ymax]); % Xac dinh ti le x , y tren truc cua no for j = 1:N text(x(j),y(j),sprintf(' %g', j)); % Viet dinh dang du lieu chuoi (danh dau toa do) % MATLAB se ghi de viec chuyen doi quy dinh va su dung % e .
end %@ Xac dinh luc tac dung truc tiep vao vi tri cua cac dien tich diem hold on; quiver(x,y,Fxnet,Fynet,'r');
% Ve vector bieu dien luc tuong tac
xlabel('x (m)'); ylabel('y (m)'); title([' Luc tuong tac giua cac dien tich diem trong chan khong']);
% Xac dinh luc tuong tac tinh dien giua cac dien tich diem trong chan khong % Nhap ten nhom:
Tenhom= input(' Ten nhom : ','s'); %@ Khoi tao bien, cac hang so vat ly N= input('Nhap so luong dien tich diem: '); for i=1:N fprintf(' ----- \n Dien tich thu #%g \n',i); Tdo= input('Nhap toa do dien tich [x y]: '); x(i) = Tdo(1); % Toa do x cua dien tich y(i) = Tdo(2); % Toa do y cua dien tich q(i) = input('Nhap dien tich q cua dien tich diem: '); end
%@ Tim xmin, xmax, ymin, and ymax xmin=min(x)-1; ymin=min(y)-1; xmax=max(x)+1; ymax=max(y)+1;
Epsilon0 = 8.85e-12; % He so dien moi trong chan khong (C^2/(N m^2)) k= 1/(4*pi*Epsilon0); k=9e+9; % Hang so Coulomb
%@ Vong qua cac dien tich diem khac de tinh toan luc tuong tac tren dien tich dang xet fprintf(' Luc tac dung: \n\n'); for i = 1:N
%Khoi tao thanh phan cua luc tac dung bang 0 (Fx, Fy) Fx = 0.0; Fy = 0.0;
%@Xet luc tuong tac giua cac dien tich diem khac tren dien tich dang xet
for j = 1:N if( i ~= j ) % Neu dien tich i khong bang dien tich j %@ Tinh toan cac thanh phan cua vector khoang cach giua hai dien tich xij = x(i ) - x(j ); yij = y(i) - y(j ); Rij = sqrt(xij^2 + yij^2);
%@ Tinh cac thanh phan Fx, Fy cua luc tinh dien giua hai dien tich su dung dinh luat Coumlomb (Nguyen ly chong chat dien truong) Fx = Fx + Constant*q(i)*q(j)*xij/Rij^3; Fy = Fy + Constant*q(i)*q(j)*yij/Rij^3;
end end Fxnet(i) = Fx; Fynet(i) = Fy; %@ Dua ra tong cac luc tinh dien tren 1 dien tich do cac dien tich khac tac dung len fprintf('Luc tac dung len dien tich #%g la: \n' ,i); fprintf(' x-Luc Fx: %g N \n',Fx); fprintf(' y-Luc Fy: %g N \n',Fy);
end
%@ Ve duong bieu dien(vector) vi tri cac dien tich
figure(gcf);
% tao ra 1 cua so moi va tra ve gia tri cua no
plot(x,y,'bo'); axis([xmin xmax ymin ymax]); % Xac dinh ti le x , y tren truc cua no for j = 1:N
text(x(j),y(j),sprintf(' %g', j)); % Viet dinh dang du lieu chuoi (danh dau toa do) % MATLAB se ghi de viec chuyen doi quy dinh va su dung % e .
end %@ Xac dinh luc tac dung truc tiep vao vi tri cua cac dien tich diem hold on; quiver(x,y,Fxnet,Fynet,'r');
% Ve vector bieu dien luc tuong tac
xlabel('x (m)'); ylabel('y (m)'); title([' Luc tuong tac giua cac dien tich diem trong chan khong']);