Professional Documents
Culture Documents
Bi tp 4:
Trong ,
l lc tnh in do in tch im th i tc dng ln in tch q0.
Lc ny c xc nh bng nh lut Coulomb:
Vi
tch im q0.
% 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
Epsilon0 = 8.85e-12;
%@ 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);
%g N \n',Fx);
%g N \n',Fy);
end
figure(gcf);
%( to ra mt ca s hnh mi, v tr v x l ca 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 vic chuyn i quy nh , v s dng % 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');
hold off;
% Coulombforce Xac dinh luc tuong tac tinh dien giua 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
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 #%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
Epsilon0 = 8.85e-12;
%@ 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
figure(gcf);
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');
% 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
Epsilon0 = 8.85e-12;
%@ 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
figure(gcf);
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');