2
logarithmЕсть простой (но практически непригодный) способ численного интегрирования таких уравнений. Сначала нужно выразить
. Понятно, что
теперь можно получить просто проинтегрировав
, например, по-Эйлеру; аналогично получается искомая
.
Псевдокод:
Код:
dt=0.1; // "Infinitesimal" time interval.
t=0;
// Your initial conditions here.
while(t<=60)
{
ddy=(f(t)-k2*dy-k1*y)/m; // Calculate second derivative of y.
dy+=ddy*dt; // Integrate it using Euler method.
y+=dy*dt; // In the same way, get y.
// Plot(t, y);
t+=dt; // Update the time position.
}
А вообще, гляньте в какую-нибудь книжку по численным методам, подыщите что-нибудь вроде метода Рунге-Кутта... Можно посмотреть для начала хотя-бы в H.Press et al., Numerical Recipes in C, там упрощенное изложение.