Es fundamental interpretar el código de forma correcta previamente a aplicarlo a tu proyecto y si tdeseas aportar algo puedes comentarlo.
Solución:
Esta ODE en particular se puede integrar por los medios un tanto engorrosos,
s1 = [email protected]@DSolve[u1''[r] + k^2 u1[r] + v0 u1[r] == 0, u1[0] == 0, u1[r],
r, Assumptions -> k^2 + v0 > 0][[1, 1]] /. C[1] -> -I c/2
s2 = [email protected]@[email protected][u2''[r] + k^2 u2[r] == 0,
u2[r0] == u1[r] /. s1 /. r -> r0, u2'[r0] == D[u1[r] /. s1, r] /. r -> r0,
u2[r], r]
s = Piecewise[u1[r] /. s1, 0 < r < r0, u2[r] /. s2]
(* Piecewise[c*Sin[r*Sqrt[k^2 + v0]], 0 < r < r0,
(c*Sqrt[k^2 + v0]*Cos[r0*Sqrt[k^2 + v0]]*Sin[k*(r - r0)])/k +
c*Cos[k*(r - r0)]*Sin[r0*Sqrt[k^2 + v0]]] *)
En general, si DSolve
puede integrar cada región de la ODE, luego las partes se pueden unir como se muestra aquí. La cuestión más fundamental es si DSolve
puede integrar ODE con expresiones más complicadas para V
. En general, DSolve
puede resolver solo aquellas EDO que tienen soluciones conocidas. De lo contrario, NDSolve
debe usarse, y puede manejar expresiones discontinuas para V
.
Bueno, aquí hay una forma indirecta, usando el valor Zeta[3]
como un proxy para un $R$ simbólico, que puede ser reemplazado por R
después DSolve
devoluciones. También puse un valor inicial explícito (simbólico) up
por u'[0]
.
sol = DSolve[u''[r] + k^2 u[r] == Piecewise[-v0, 0 <= r <= Zeta[3]] u[r],
u[0] == 0, u'[0] == up, u, r] /. Zeta[3] -> R
(* somewhat long solution *)
Simplificado:
u[r] /. First[sol] // FullSimplify
Controlar:
u''[r] + k^2 u[r] - Piecewise[-v0, 0 <= r <= R] u[r] /.
First[sol] // PiecewiseExpand // FullSimplify
(* 0 *)
Sección de Reseñas y Valoraciones
Agradecemos que quieras corroborar nuestra función dejando un comentario o puntuándolo te damos las gracias.