Hola te envio un emlace a un forum de matlab y un script que calcula la fuerza electrica resultante de n cargas puntuales y ademas realiza la grafica en 3D de la direccion resultante
http://www.universas.com/matlab/phpBB2/index.php
clear all
close all
ncargas=0;
while (ncargas<2)
ncargas=input('Numero de Cargas : ');
if (ncargas>1)
fprintf('\nCargas y Posiciones de las %d Cargas\n',ncargas)
for n=1:ncargas
fprintf('\n');
Q(n)=input(['Carga --> Q[',num2str(n),'] : ']);
X(n)=input(['Posición --> X[',num2str(n),'] : ']);
Y(n)=input(['Posición --> Y[',num2str(n),'] : ']);
Z(n)=input(['Posición --> Z[',num2str(n),'] : ']);
end
id=input('Calcular la fuerza Electrica sobre la carga : ');
fx=0;
fy=0;
fz=0;
epsi=8.854e-12;
const=1/(4*pi*epsi);
for i=1:ncargas
if (i~=id)
x=X(id)-X(i);
y=Y(id)-Y(i);
z=Z(id)-Z(i);
r=sqrt(x^2+y^2+z^2);
fx=fx+const*Q(id)*Q(i)*x/r^3;
fy=fy+const*Q(id)*Q(i)*y/r^3;
fz=fz+const*Q(id)*Q(i)*z/r^3;
end
end
fx,fy,fz
Fe=sqrt(fx^2+fy^2+fz^2)
if (Fe~=0)
ui=fx/Fe;
uj=fy/Fe;
uk=fz/Fe;
else
disp('Posible equilibrio de fuerzas')
disp('verificar los valores de posiciones y cargas')
ui=0;
uj=0;
uk=0;
end
for i=1:ncargas
if (Q(i)>0)
plot3(X(i),Y(i),Z(i),'or','markersize',7,'LineWidth',4)
hold on
plot3(X(i),Y(i),Z(i),'+b','markersize',7,'LineWidth',3)
hold on
plot3([X(id),X(i)],[Y(id),Y(i)],[Z(id),Z(i)],'--r','markersize',8)
hold on
text(X(i)+0.2,Y(i)+0.2,Z(i)+0.2,num2str(i),'fontsize',15)
else
plot3(X(i),Y(i),Z(i),'.k','markersize',22)
hold on
plot3([X(id),X(i)],[Y(id),Y(i)],[Z(id),Z(i)],'--r','markersize',8)
hold on
text(X(i)+0.2,Y(i)+0.2,Z(i)+0.2,num2str(i),'fontsize',15)
end
end
quiver3(X(id),Y(id),Z(id),ui,uj,uk,0.5)
axis([min(X)-2 max(X)+2 min(Y)-2 max(Y)+2 min(Z)-2 max(Z)+2])
title({'CREDITOS: DAVID CORREA','LA FUERZA RESULTANTE ES : ',[num2str(Fe,3),' Newton ' ]})
xlabel('Eje X');
ylabel('Eje Y');
zlabel('Eje Z');
grid on
else
disp('Considere el numero de cargas mayor o igual a 2')
salir=input('Desea continuar si[s]/no[n] ','s');
if or(salir=='n',salir=='N')
disp('**** Ha terminado ****')
break
end
end
end