Change value of parameter and u0 after init ODEProblem DifferentialEquations.jl

How can I change the parameter value and initial conditions after initialization ODEProblem?

I tried to change u0 using prob.u0 = newu0
But I got a warning
Warning: Mutation of ODEProblem detected. SciMLBase v2.0 has made ODEProblem temporarily mutable in order to allow for interfacing with EnzymeRules due to a current limitation in the rule system. This change is only intended to be temporary and ODEProblem will return to being a struct in a later non-breaking release. Do not rely on this behavior, use with caution.
I managed to change u0 using remake, but I don’t quite understand how to change a specific parameter using it.

Thank for your helps

You can do prob.p[i] = x

I tried this
It is redefined the value of parameter in the array of parameters that was passed to ODEProblem

Yes is that not what you asked to do?

Yes, but changed array param
It seemed to me that it should remain unchanged. I changed prob.p, not param

Yes it changes the array. That’s just mutation. If you want to not use mutation, then remake is the right thing to use.

Thank you
Is it possible to change only one parameter using remake?

newp = copy(prob.p)
newp[i] = x
newprob = remake(prob, p = newp)

Thank you!