(* Generated by JWS Online *) (* This is an experimental feature of JWS Online. Please report any mistakes.*) (* Note that the following notable SBML entities or features are not supported in notebook outputyet: *) (* Events *) (* Constraints *) (* Units and UnitDefinitions *) (* AlgebraicRules *) (* conversionFactors *) variables = { X[t], Y[t] }; initialValues = { X[0] == 1.0, Y[0] == 1.0 }; rates = { r1, r2, r3, r4 }; rateEquations = { r1 -> r1\[LetterSpace]k1*S*Y[t], r2 -> r2\[LetterSpace]k2*X[t]^2, r3 -> r3\[LetterSpace]k3*X[t]*Y[t], r4 -> r4\[LetterSpace]k4*X[t] }; parameters = { P -> 1.0, S -> 1.0, r1\[LetterSpace]k1 -> 8.0, r2\[LetterSpace]k2 -> 1.0, r3\[LetterSpace]k3 -> 1.0, r4\[LetterSpace]k4 -> 1.5, batch -> 1.0 }; assignments = { }; events = { }; speciesAnnotations = { }; reactionAnnotations = { }; units = { {"time" -> "", "metabolite" -> "", "extent" -> ""} }; (* Time evolution *) odes = { X'[t] == 2.0*r1 +1.0*r2 -2.0*r2 -1.0*r3 -1.0*r4, Y'[t] == 1.0*r2 +1.0*r3 -1.0*r1 -1.0*r3 }; timeCourse = NDSolve[Join[odes, initialValues]//.rateEquations//.assignments//.parameters, variables, {t, 0, 100}]; (* Steady-state solution initialized with result of time evolution *) findRootEquations = odes /.D[_[t],t]->0; findRootVariables = Partition[Flatten[{#, #/.timeCourse/.t->100} &/@variables],2]; steadyStateVariables = FindRoot[findRootEquations//.rateEquations//.assignments//.parameters, findRootVariables, MaxIterations->100] fluxes = #//.assignments//.parameters/.steadyStateVariables&/@rateEquations (* Plot the time evolution of the variables *) plotTable=Table[Plot[variables[[i]]/.parameters/.timeCourse,{t,0,100},PlotLegends->variables[[i]],PlotRange->Full],{i,Length[variables]}]