@zeunig356 per curiosità, ho fatto una prova numerica, nel range [0,1] con le CC della consegna. Per il metodo numerico, la condizione sulla derivata prima (backward quindi (Yi - Yi-1)/dx) mi porta a definire V[0] e la condizione al contorno su Y, mi porta a definire V[1]. Questo quindi comporta una traslazione (altrimenti è come se fossimo partiti dall'indice -1 anziché 0, quindi poi l'ho semplicemente shiftato +1, lo preciso altrimenti vedendo solo il codice forse non è chiaro). La procedura mi sembra corretta, a me risulta come mostrato di seguito.
Codice in Python:
#y"=x^2(y+y')
import numpy as np
from matplotlib import pyplot as plt
N=100
V=np.zeros(N)
dx=1.0/N
V[0]=1-0.5*dx #y'(0)=1/2
V[1]=1 #y(0)=1
#y'=(1-y(i-1))/dx=1/2
plt.figure()
for i in range(2,N):
V[i]=2*V[i-1]-V[i-2]+dx*dx*((i*dx)**2+(V[i-1]-V[i-2])/dx-V[i-1])
plt.plot(i*dx,V[i],'o')
plt.show()
Grafico: