function [xx yy Ex Ey] = ldc2(qs, R) % draws the Electric field around charges qs at position R % qs is a line vector of charge % R is a matrix of [x1 x2 ...;y1 y2 ...] Nc = length(qs); L = 0.5; %draw around length xqs = R(1,:); yqs = R(2,:); xmin = min(xqs); xmax = max(xqs); ymin = min(yqs); ymax = max(yqs); x = linspace(xmin-L,xmax+L,30); y = linspace(ymin-L,ymax+L,30); [xx yy] = meshgrid(x,y); xx = xx(:); yy = yy(:); %remove points too close to the center of each charge for k = 1:Nc d =(xx - xqs(k)).^2 + (yy - yqs(k)).^2; invalid = (d < 0.1); xx(invalid) = []; yy(invalid) = []; end Ex = zeros(length(xx),1); Ey = zeros(length(yy),1); for k = 1:Nc l = sqrt((xx-xqs(k)).^2 + (yy-yqs(k)).^2); E = qs(k)./(4.*pi.*l.^2); ux = (xx-xqs(k))./l; uy = (yy-yqs(k))./l; Ex = Ex + E .* ux; Ey = Ey + E .* uy; end quiver(xx,yy,Ex,Ey)