Buscar el potencial eléctrico dada la densidad de carga, utilizando el código

1

Sé que la relación entre potencial (V) y densidad de carga (ρ) es:

2 (V) = -ρ / ε

Estaba intentando resolver el siguiente problema:

Dados dos capacitores de placa paralela con longitud infinita, separados por longitud, l = 1m, V (0) = 0V y V (1) = 12V, con ρ / ε = 1C / Fm 2 , encuentre V (l), el potencial en cualquier punto entre las placas.

Analíticamente, sé cómo hacer esto, y lo consigo

V (l) = -0.5 * (l 2 ) + 12.5l,

Y sé que d 2 / dx 2 se puede escribir como

[f (x + 2h) - 2f (x + h) + f (x)] * (1 / h 2 )

Puedo cambiar esa ecuación para que sea 'causal' cambiando x - > x - 2h, eso me da

[f (x) - 2f (x-h) + f (x-2h)] * (1 / h 2 )

Ahora, se supone que debo resolver esto numéricamente, y he descubierto una manera de hacerlo en Matlab. Pero dada la naturaleza de la pregunta, quería resolverla de una manera diferente.

Sabemos que V '' (l) = -1 (volviendo al problema que mencioné inicialmente), y

V '' (l) = [V (l) - 2V (l-h) + V (l-2h)] * (1 / h 2 )

Entonces, -1 debe ser igual a [V (l) - 2V (l-h) + V (l-2h)] * (1 / h 2 )

Resolviendo para V (l) obtenemos lo siguiente:

V (l) = -h 2 + 2V (l-h) - V (l-2h) ...

Para mí, eso parece de naturaleza recursiva, pero para poder resolverlo, tengo que saber algunas cosas sobre V (l), y lo hago. Sé que V (0) = 0, V (1) = 12, pero ¿qué pasa si l < 0 o l > 1? ¿Asumo que V (l < 0) = V (0) = 0, y V (l > 1) = V (1) = 12?

Siento que me falta algo aquí ... Intenté lo siguiente para resolverlo recursivamente (en python):

def v(l, dl):
print l
if l <= 0 or l > 1:
    return 0
elif l == 1:
    return 12
else:
    return 2*v(l + dl, dl) - v(l + (2*dl), dl) - (dl*dl)


def v1(l, dl):
    print l
    if l <= 0 or l > 1:
        return 0
    elif l == 1:
        return 12
    else:
        return 2*v(l - dl, dl) - v(l - (2*dl), dl) - (dl*dl)

#this one doesnt work, I know why.
def v2(l, dl):
    print l
    if l <= 0 or l > 1:
        return 0
    elif l == 1:
        return 12
    else:
        return 0.5*(v2(l + dl, dl) - v2(l -dl, dl) + (dl*dl))

Esto no funcionó, y creo que se debe a que me estoy acercando a l < 0, y l > 1 casos incorrectamente.

¿Es este problema solucionable mediante recursión?

El que dice this does not work, I know why no funciona porque cada retorno recursivo devuelve un retorno no recursivo y uno no recursivo ... Estoy bastante seguro de que la forma en que configuré mis funciones es correcta, Positivo que el problema con mi enfoque es que no estoy entendiendo la física correctamente. P La razón por la que hay 3 funciones diferentes es porque escribí una para cada V '' (l), una donde l se evalúa en l, otra donde l - > l - h, y uno donde l - > l - 2h, donde h = dl.

    
pregunta Mahmud Assamaray

0 respuestas

Lea otras preguntas en las etiquetas