Я пытаюсь использовать odeint решить дифференциальное уравнение вида:Как написать уравнение вида х '= f (х, т), где т появляется явно в odeint
у [0] (r) = y1,
y [1] '(r) = f (y, r)
где t отображается явно. Как написать «r» в коде для уравнения?
См пример ниже
typedef std::vector<double> state_type;
class phieq{
double lambda, mu, g, sigma, rv;
public:
phieq(double mlambda, double mmu, double mg, double msigma, double mrv) : lambda(mlambda), mu(mmu), g(mg), sigma(msigma), rv(mrv) {}
void operator() (const state_type &y , state_type &dydr , const double /* t */)
{ dydr[0] = y[1];
dydr[1] = -((2.0*y[1])/r)+lambda*y[0]*y[0]*y[0]-(mu*mu)*y[0];
}
};