(* 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 = { V[t], h[t], m[t], n[t] }; initialValues = { V[0] == -60.0, h[0] == 0.587915337258, m[0] == 0.0580917142295, n[0] == 0.321283379998 }; rates = { v\[LetterSpace]vH, v\[LetterSpace]vM, v\[LetterSpace]vN, v\[LetterSpace]vV }; rateEquations = { v\[LetterSpace]vH -> alphah*(1 - h[t]) - betah*h[t], v\[LetterSpace]vM -> alpham*(1 - m[t]) - betam*m[t], v\[LetterSpace]vN -> alphan*(1 - n[t]) - betan*n[t], v\[LetterSpace]vV -> extInput + barGk*n[t]^4*(EK - V[t]) + barGleak*(ELeak - V[t]) + barGna*h[t]*m[t]^3*(ENa - V[t]) }; parameters = { EK -> -72.0, ELeak -> -49.387, ENa -> 55.0, Q10 -> 3.0, T -> 6.3, ah -> 0.07, am -> 0.1, an -> 0.01, barGk -> 36.0, barGleak -> 0.3, barGna -> 120.0, bh -> 1.0, bm -> 4.0, bn -> 0.125, delay1 -> 0.0, dur1 -> 60.0, dur2 -> 0.0, kalphah -> 20.0, kalpham -> 10.0, kalphan -> 10.0, kbetah -> 10.0, kbetam -> 18.0, kbetan -> 80.0, stim1 -> 6.0, stim2 -> 0.0, t1 -> 5.0, valphah -> -60.0, valpham -> -36.0, valphan -> -50.0, vbetah -> -30.0, vbetam -> -60.0, vbetan -> -60.0, default\[LetterSpace]compartment -> 1.0 }; assignments = { t2 -> dur1 + t1, t3 -> delay1 + dur1 + t1, t4 -> dur2 + t3, alphah -> (ah*Q10^((-6.3 + T)/10))/E^((-valphah + V[t])/kalphah), betan -> (bn*Q10^((-6.3 + T)/10))/E^((-vbetan + V[t])/kbetan), betah -> (bh*Q10^((-6.3 + T)/10))/(1 + E^(-((-vbetah + V[t])/kbetah))), alphan -> Piecewise[{{0.1*Q10^((-6.3 + T)/10), V[t] == valphan}}, (an*Q10^((-6.3 + T)/10)*(-valphan + V[t]))/(1 - E^(-((-valphan + V[t])/kalphan)))], betam -> (bm*Q10^((-6.3 + T)/10))/E^((-vbetam + V[t])/kbetam), extInput -> Piecewise[{{stim1, t1 <= t && t < t2}, {stim2, t3 <= t && t < t4}}, 0], alpham -> Piecewise[{{0.1*Q10^((-6.3 + T)/10), V[t] == valpham}}, (am*Q10^((-6.3 + T)/10)*(-valpham + V[t]))/(1 - E^(-((-valpham + V[t])/kalpham)))] }; events = { }; speciesAnnotations = { }; reactionAnnotations = { }; units = { {"time" -> "ms", "metabolite" -> "", "extent" -> ""} }; (* Time evolution *) odes = { V'[t] == 1.0*v\[LetterSpace]vV , h'[t] == 1.0*v\[LetterSpace]vH , m'[t] == 1.0*v\[LetterSpace]vM , n'[t] == 1.0*v\[LetterSpace]vN }; 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]}]