Coulomb y Matalb

16

description

Aplicaiones de la Ley de Coulomb en la electroestatica y Matlab

Transcript of Coulomb y Matalb

Page 1: Coulomb y Matalb
Page 2: Coulomb y Matalb
Page 3: Coulomb y Matalb
Page 4: Coulomb y Matalb

ElectricFields.m

%-------------------------------------------------------------------------%% This simple program computes the Electric Fields due to dipole % in a 2-D plane using the Coulomb's Law%-------------------------------------------------------------------------%

clcclose all; clear all;

%-------------------------------------------------------------------------%% SYMBOLS USED IN THIS CODE %-------------------------------------------------------------------------%

% E = Total electric field% Ex = X-Component of Electric-Field% Ey = Y-Component of Electric-Field% n = Number of charges% Q = All the 'n' charges are stored here% Nx = Number of grid points in X- direction% Ny = Number of grid points in Y-Direction% eps_r = Relative permittivity% r = distance between a selected point and the location of charge% ex = unit vector for x-component electric field% ey = unit vector for y-component electric field%-------------------------------------------------------------------------%

%-------------------------------------------------------------------------%% INITIALIZATION % Here, all the grid, size, charges, etc. are defined%-------------------------------------------------------------------------%

% Constant 1/(4*pi*epsilon_0) = 9*10^9k = 9*10^9;

% Enter the Relative permittivityeps_r = 1;charge_order = 10^-9; % milli, micro, nano etc..const = k*charge_order/eps_r;

% Enter the dimensionsNx = 101; % For 1 meterNy = 101; % For 1 meter

% Enter the number of charges.n = 2;

Page 5: Coulomb y Matalb

% Electric fields InitializationE_f = zeros(Nx,Ny);Ex = E_f;Ey = E_f;

% Vectors initializationex = E_f;ey = E_f;r = E_f;r_square = E_f;

% Array of chargesQ = [1,-1];

% Array of locationsX = [5,-5];Y = [0,0];

%-------------------------------------------------------------------------%% COMPUTATION OF ELECTRIC FIELDS%-------------------------------------------------------------------------%

% Repeat for all the 'n' chargesfor k = 1:n q = Q(k); % Compute the unit vectors for i=1:Nx for j=1:Ny

r_square(i,j) = (i-51-X(k))^2+(j-51-Y(k))^2; r(i,j) = sqrt(r_square(i,j)); ex(i,j) = ex(i,j)+(i-51-X(k))./r(i,j); ey(i,j) = ey(i,j)+(j-51-Y(k))./r(i,j); end end

E_f = E_f + q.*const./r_square;

Ex = Ex + E_f.*ex.*const; Ey = Ex + E_f.*ey.*const;

end

%-------------------------------------------------------------------------%% PLOT THE RESULTS%-------------------------------------------------------------------------%

x_range = (1:Nx)-51;

Page 6: Coulomb y Matalb

y_range = (1:Ny)-51;contour_range = -8:0.02:8;contour(x_range,y_range,E_f',contour_range,'linewidth',0.7);axis([-15 15 -15 15]);colorbar('location','eastoutside','fontsize',12);xlabel('x ','fontsize',14);ylabel('y ','fontsize',14);title('Electric field distribution, E (x,y) in V/m','fontsize',14);

%-------------------------------------------------------------------------%% REFERENCE% SADIKU, ELEMENTS OF ELECTROMAGNETICS, 4TH EDITION, OXFORD%-------------------------------------------------------------------------%

Page 7: Coulomb y Matalb

%! Electric forces in a system of particles - Coulomb's Law% University of Tennessee : EF 230 Fall, 2009 : Will Schleterfunction coulombclear all; close all; clc;% Set values% q(i) - charge of particle i% qs - charge scale (10^qs) C% p(i) - position [x y z] of particle i% ps - position scale (10^ps) m[q qs p ps] = getchargedata();% initk=9; ks=9; % constant and scale for Coulomb's Lawfs = (ks+qs+qs)-(ps+ps); % scaling for the resultpd = [];figure(1);hold on;axis equaltitle('Coulomb''s Law Example');vs=.5;% Loop through all particlesfor a=1:length(q);f=[0 0 0]; % init force on particle apa=p(a,:); % position of a as [x y z]for b=1:length(q);if a==b, continue, end; % skip if same particlepb=p(b,:); % position of b as [x y z]r=norm(pb-pa); % distance between a and bu=(pb-pa)./r; % unit vector from a to bif sign(q(a)) == sign(q(b))u=-u; % flip direction if repellingendfab=k.*abs(q(a).*q(b))./(r.^2); % magnitude of the force between a and bf=f+fab.*u; % add b's force on a to total force on aendF(a,:)=f; % save results in Ffprintf('Force on %u is (%g %g %g)x10^%d N (%.3g @ %.3g deg)\n',a,f,fs,norm(f),atan2(f(2),f(1))*180/pi);pd(end+1,:)=[pa f]; % save plot datatext(pa(1)+.02,pa(2),pa(3),sprintf('%u(%d)',a,q(a))); % show chargeplot3(pa(1),pa(2),pa(3),'*');endquiver3(pd(:,1),pd(:,2),pd(:,3),pd(:,4),pd(:,5),pd(:,6),vs);function [q qs p ps] = getchargedata()% user interface for entering data or selecting a data setchoices = {'User Entered','21-2','21-3','21-4'};c=menu('Examples',choices);switch ccase 1

Page 8: Coulomb y Matalb

prompt={'Number of particles','Charge magnitude (C)','Position magnitude (m)'};ui=inputdlg(prompt);n=str2num(ui{1});qs=str2num(ui{2});ps=str2num(ui{3});for i=1:n, prompt{i}=num2str(i); end;title='q,x,y,z for each particle';ui=inputdlg(prompt,title);for i=1:ntmp = sscanf(ui{i},'%f,%f,%f,%f');q(i)=tmp(1);p(i,:)=tmp(2:4);endcase 2q(1)=25;q(2)=-75;qs=-9;p(1,:)=[0 0 0];p(2,:)=[3 0 0];ps=-2;case 3q(1)=1;q(2)=-3;q(3)=5;qs=-9;p(1,:)=[2 0 0];p(2,:)=[4 0 0];p(3,:)=[0 0 0];ps=-2;case 4q(1)=2;q(2)=2;q(3)=4;p(1,:)=[0 .3 0];p(2,:)=[0 -.3 0];p(3,:)=[.4 0 0];qs=-6;ps=0;otherwiseerror('No choice made');end

Page 9: Coulomb y Matalb

k=1/4/pi/8.854e-12;d=2;q=[-1 1];x=[-d/2 d/2];y=[0 0];

dx=0.01;X=(-d:dx:d);Y=(-d:dx:d);[X Y]=meshgrid(X,Y);

E=zeros(size(X));

for i=1:numel(q) r=sqrt((X-x(i)).^2+(Y-y(i)).^2); E=E+k*q(i)./r.^2;end

E(isinf(E))=NaN;

figure;contourf(X,Y,E);axis image;

Page 10: Coulomb y Matalb

% Cforce - Program to compute Coulomb force between charges clear all;  help Cforce;    % Clear memory; print header

%@ Enter your username fprintf('Enter your username (userid); for example, \n'); fprintf('  USERNAME: ABName  \n'); Username = input('  USERNAME: ','s'); % Read input as a text string fprintf('\n');

%@ Initialize variables (e.g., positions of charges, physical constants) NCharges = input('Enter the number of charges: '); for iCharge=1:NCharges   fprintf('----- \n  For charge #%g \n',iCharge);   r_in = input('Enter position (in m) as [x y]: ');   x(iCharge) = r_in(1);   % x-component of position   y(iCharge) = r_in(2);   % y-component of position   q(iCharge) = input('Enter charge (in C): '); end

%@ Find 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;    % Permittivity of free space (C^2/(N m^2)) Constant = 1/(4*pi*Epsilon0);  % Useful constant

%@ Loop over charges to compute the force on each charge fprintf('\n\n Forces are: \n\n'); for iCharge = 1:NCharges

  Fx = 0.0;  % Initialize components of total force to zero   Fy = 0.0;

  %@ Loop over other charges to compute force on this charge   for jCharge = 1:NCharges  if( iCharge ~= jCharge ) % If iCharge NOT equal to jCharge

   %@ Compute the components of vector distance between two charges    xij = x(iCharge) - x(jCharge);    yij = y(iCharge) - y(jCharge);    Rij = sqrt(xij^2 + yij^2);

Page 11: Coulomb y Matalb

   %@ Compute the x and y components of the force between      %@ these two charges using Coulomb's law

   Fx = Fx + Constant*q(iCharge)*q(jCharge)*xij/Rij^3;    Fy = Fy + Constant*q(iCharge)*q(jCharge)*yij/Rij^3;

    end  end   Fxnet(iCharge) = Fx;   Fynet(iCharge) = Fy;   %@ Print out the total force on this charge due to the others   fprintf('Force on charge #%g is: \n',iCharge);   fprintf(' x-component: %g N \n',Fx);   fprintf(' y-component: %g N \n',Fy); end

%@ Plot position of charges clf;         &n bsp; % Clear graphics figure window figure(gcf);     % Bring figure window forward plot(x,y,'bo'); axis([xmin xmax ymin ymax]); for j = 1:NCharges    text(x(j),y(j),sprintf('  %g',j)); end %@ Add force direction to position of charges hold on; quiver(x,y,Fxnet,Fynet,'r');    % Draw arrows for force title([Username,',   ',date,', ','Cforce: Position of charges and direction of forces']); xlabel('x (m)'); ylabel('y (m)'); hold off;    

Page 12: Coulomb y Matalb
Page 13: Coulomb y Matalb
Page 14: Coulomb y Matalb
Page 15: Coulomb y Matalb