Недавно я создал код для решения проблемы схемы RLC, используя ODE 2-го порядка с методом Рунге-Кутты, но созданный мною код не совпадает с результатом, например, со стандартным ODE результата с 5 Ом. резистор (R), 10 мФ конденсатор (C), 1H индуктор (L), 5 В с начальным напряжением [v (0)], 0A для электрического тока [i (0)] и 0,05 с для времени (t), с итерацией 100 I 1,5163v и с кодом, который я получил 3.75v , я не вижу, что я делаю неправильно.Вот уравнения ОДУ:
А вот уравнение для определения начального значения v '(0) = w (0) :
Теперь метод Рунге-Кутта:
И, наконец, код:
for(int i=0;i<iteracao;i++, hX+=h){
tensaofSec=tensaof;
wTV=wf;
wT=wf;
//Runge-Kutta para a funcao v'(t) e w'(t)
l1=h*funcaoV;
k1=h*funcaoW;
wT=(wf+(k1/2));
wTV=(wf+(k1/2));
tensaofSec=(tensaof+(l1/2));
k2=h*funcaoW;
l2=h*funcaoV;
wT=(wf+(k2/2));
wTV=(wf+(k2/2));
tensaofSec=(tensaof+(l2/2));
k3=h*funcaoW;
l3=h*funcaoV;
wT=(wf+k3);
wTV=(wf+k3);
tensaofSec=(tensaof+l3);
k4=h*funcaoW;
l4=h*funcaoV;
wf=wf+((k1+(2*k2)+(2*k3)+k4)/6);
tensaof=tensaof+((l1+(2*l2)+(2*l3)+l4)/6);
}
Полная функция для расчета конечного напряжения