Está en la página 1de 2

#Para calcular factores primos de un número

n=int(input("Ingrese un número:"))
d=1
while(d<=n):
if(n%d==0):
print(d,end=",")
n=n//d
if(d>1):
d=d-1
d=d+1

#Para graficar en python


import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5])
plt.show()

#De está librería quiero importar


from... import ...

#Dipolo eléctrico
from matplotlib.tri import (Triangulation,UniformTriRefiner,CubicTriInterpolator)
import matplotlib.pyplot as plt
import numpy as np

def potencial_dipolo(x,y):
r_sq=x**2 + y**2
theta=np.arctan2(y,x)
z=np.cos(theta)/r_sq
return (np.max(z)-z)/(np.max(z)-np.min(z))

n_angle = 30
n_rad = 10
min_radius = 0.2
rad = np.linspace(min_radius,0.95,n_rad)
angles = np.linspace(0,2*np.pi,n_angle,endpoint=False)
angles = np.repeat(angles[...,np.newaxis],n_rad,axis=1)
angles[:,1::2] += np.pi/n_angle

x=(rad*np.cos(angles)).flatten()
y=(rad*np.sin(angles)).flatten()
v=potencial_dipolo(x,y)

triang=Triangulation(x,y)
triang.set_mask(np.hypot(x[triang.triangles].mean(axis=1),
y[triang.triangles].mean(axis=1))
< min_radius)

refiner = UniformTriRefiner(triang)
tri_refi, z_test_refi = refiner.refine_field(v,subdiv=3)

cti=CubicTriInterpolator(triang,-v)
(Ex,Ey)=cti.gradient(triang.x,triang.y)
E_norm = np.sqrt(Ex**2 + Ey**2)

fig, ax=plt.subplots()
ax.set_aspect('equal')
ax.use_stiky_edges = False
ax.margins(0.07)
ax.triplot(triang,color='0.8')
levels =np.arange(0.,1.,0.01)
ax.tricontour(tri_refi,z_test_refi,levels=levels,cmap='hot',linewidths=[2.0,1.0,1.0
,1.0])

ax.quiver(triang.x,triang.y,Ex/E_norm,Ey/
E_norm,units='xy',scale=10.,zorder=3,color='blue',width=0.007,headwidth=3.,headleng
th=4.
)
ax.set_title('Nuestro dipolo eléctrico')
plt.show()

También podría gustarte