You are on page 1of 11

Xc nh lc tng tc tnh in gia cc in tch im trong chn khng

Bi tp 4:

Xc nh lc tng tc tnh in gia cc in tch


im trong chn khng
1. Yu cu
Lc tng tc tnh in do n in tch im tc dng ln in tch
im q0 c xc nh bng nguyn l chng cht.

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.

; r - khong cch gia in tch im th i v in

Bi tp ny yu cu sinh vin s dng Matlab tnh ton cc thnh phn Fx,


Fy ca lc tng tc tnh in gia cc in tch im trong mt phng Oxy.
2. iu kin
1) Sinh vin cn c kin thc v lp trnh c bn trong MATLAB.
2) Tm hiu cc lnh Matlab lin quan symbolic v ha.
3. Nhim v
Xy dng chng trnh Matlab:
1) Nhp s in tch im.
2) Nhp ta v in tch ca mi in tch im trong mt phng Oxy.

3) Dng cc php ton hnh thc (symbolic) tnh cc thnh


phn Fx v Fy ca lc tnh in do cc in tch cn li tc dng ln mi in
tch.
Ch : Sinh vin c th dng cc cch tip cn khc khng dng symbolic.
4. Ti liu tham kho:
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);

%( 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');

% 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 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

tren dien tich

%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 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']);

% 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']);

You might also like