I'm new to OOP. I'm reading documentation on how to code multiple simulations in julia here. I have a couple questions in the first section of reading ("Building a Problem"):
The document opens with an example constructor:
EnsembleProblem. I think this creates an ODE simulation with different parameters for each constructor call. Is this right?The constructor contains the following lines of code:
prob::DEProblemandoutput_func = (sol,i) -> (sol,false). How does one read this? I think: problem is some class in DEProblem with a function output_func. I'm unclear on what are on the left and right sides of the arrow though.A function is defined:
function prob_func(prob,i,repeat)
@. prob.u0 = randn()*prob.u0
prob
end
I think this is just changing the initial conditions -- but I'm unclear what's happening in each line of the function.
- It mentions that "problem types are immutable, it uses .=" -- I didn't understand this comment.