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 im q0.

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

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); plot(x,y,'bo');

%( to ra mt ca s hnh mi, v tr v x l ca n)

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 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 %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 . tren dien

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); plot(x,y,'bo');

% tao ra 1 cua so moi va tra ve gia tri cua no

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); plot(x,y,'bo');

% tao ra 1 cua so moi va tra ve gia tri cua no

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