Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Simulación de Líneas de Campo con Python: Un Estudio de Caso en Ingeniería Electrónica - P, Ejercicios de Electromagnetismo

saskldasdjklasdnklashdasklñdfnaskñsdn

Tipo: Ejercicios

2020/2021

Subido el 08/12/2022

brandon-rios-6
brandon-rios-6 🇵🇪

5 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
Simulación de líneas de campo
con Python
Estudiante:
Rios Cataño, Brandon Leonardo
Código:
2113210058
DOCENTE:
Acevedo Poma Felix Julian
Callao Perú
2022-B
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Simulación de Líneas de Campo con Python: Un Estudio de Caso en Ingeniería Electrónica - P y más Ejercicios en PDF de Electromagnetismo solo en Docsity!

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

Simulación de líneas de campo

con Python

Estudiante:

Rios Cataño, Brandon Leonardo

Código:

DOCENTE:

Acevedo Poma Felix Julian

Callao – Perú

2022-B

Código en Python:

import matplotlib.pyplot as plt

import numpy as np

import plotly.offline as py

from scipy.integrate import ode as ode

py.init_notebook_mode(connected=True)

class charge:

def init(self, q, pos):

self.q = q

self.pos = pos

def E_point_charge(q, a, x, y):

return q * (x - a[0]) / ((x - a[0]) ** 2 + (y - a[1]) ** 2) ** (1.5), \

q * (y - a[1]) / ((x - a[0]) ** 2 + (y - a[1]) ** 2) ** (1.5)

def E_total(x, y, charges):

Ex, Ey = 0, 0

for C in charges:

E = E_point_charge(C.q, C.pos, x, y)

Ex = Ex + E[0]

Ey = Ey + E[1]

return [Ex, Ey]

def E_dir(t, y, charges):

Ex, Ey = E_total(y[0], y[1], charges)

n = np.sqrt(Ex ** 2 + Ey * Ey)

return [Ex / n, Ey / n]

charges and positions

charges = [charge( 1, [0.56, 0.56]),

charge(-1, [0.26, 0.76]),

charge( 1, [0.66, 0.16]),

charge(-1, [0.66, 0.86]) ]

check if field line ends in some charge

for C2 in charges:

if np.sqrt((r.y[0]-C2.pos[0])2+(r.y[1]- C2.pos[1])2)0:

ax.plot(C.pos[0], C.pos[1], 'ro', ms=10*np.sqrt(C.q))

if C.q<0:

ax.plot(C.pos[0], C.pos[1], 'bo', ms=10*np.sqrt(-C.q))

ax.set_xlabel('x')

ax.set_ylabel('y')

ax.set_xlim(0, 1)

ax.set_ylim(0, 1)

ax.set_aspect('equal','datalim')

plt.savefig('electric_field_lines_pyplot_wo_mayavi.png',

dpi=250,bbox_inches="tight",pad_inches=0.08)

plt.show()