From d4efb7339ba907890e4f42eac20f138dd5bb66f9 Mon Sep 17 00:00:00 2001 From: harisorgn Date: Sat, 11 Jan 2025 15:03:41 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20ff8e4?= =?UTF-8?q?e7bf3c52d69a6306ff9461daa7b1e7ef48d=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Manifest.toml | 12 +- assets/literate/neuron_mass.md | 2 +- assets/literate/neuron_mass_script.jl | 2 +- .../CS_circuit/code/output/cort_asc_stack.svg | 190 +- .../CS_circuit/code/output/cort_meanfield.svg | 196 +- .../CS_circuit/code/output/cort_power.svg | 253 +- .../CS_circuit/code/output/cort_stack.svg | 212 +- .../CS_circuit/code/output/wta_stack.svg | 102 +- .../CS_circuit/code/output/wta_wta_stack.svg | 114 +- .../blox_connections/code/output/ex6.res | 2 +- assets/pages/learning/code/output/adj_RL.svg | 7394 ++++++++--------- .../pages/learning/code/output/adj_open.svg | 5350 ++++++------ assets/pages/learning/code/output/ex3.out | 110 +- assets/pages/learning/code/output/ex3.res | 2 +- assets/pages/neuron_mass/code/ex7.jl | 2 +- .../neuron_mass/code/output/hh_power.svg | 301 +- notebooks/CS_circuit.ipynb | 4 +- notebooks/DCM.ipynb | 8 +- notebooks/PING_circuit.ipynb | 4 +- notebooks/blox_connections.ipynb | 18 +- notebooks/decision_making.ipynb | 7 +- notebooks/intro_diffeq.ipynb | 4 +- notebooks/intro_plot.ipynb | 4 +- notebooks/learning.ipynb | 4 +- notebooks/neuron_mass.ipynb | 23 +- pages/blox_connections/index.html | 2 +- pages/learning/index.html | 112 +- pages/neuron_mass/index.html | 2 +- 28 files changed, 7212 insertions(+), 7224 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index d34d25b..a6da2ab 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1478,9 +1478,9 @@ version = "1.17.0+1" [[deps.Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "84eef7acd508ee5b3e956a2ae51b05024181dee0" +git-tree-sha1 = "89211ea35d9df5831fca5d33552c02bd33878419" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.40.2+2" +version = "2.40.3+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] @@ -1490,9 +1490,9 @@ version = "4.7.1+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "edbf5309f9ddf1cab25afc344b1e8150b7c832f9" +git-tree-sha1 = "e888ad02ce716b319e6bdb985d2ef300e7089889" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.40.2+2" +version = "2.40.3+0" [[deps.LineSearch]] deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"] @@ -3245,9 +3245,9 @@ version = "1.6.45+1" [[deps.libsixel_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "libpng_jll"] -git-tree-sha1 = "1e53ffe8941ee486739f3c0cf11208c26637becd" +git-tree-sha1 = "bf6bb896bd59692d1074fd69af0e5a1b64e64d5e" uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" -version = "1.10.4+0" +version = "1.10.4+1" [[deps.libsodium_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] diff --git a/assets/literate/neuron_mass.md b/assets/literate/neuron_mass.md index 8008c2d..612c9e9 100644 --- a/assets/literate/neuron_mass.md +++ b/assets/literate/neuron_mass.md @@ -106,7 +106,7 @@ prob = SDEProblem(sys, [], (0, 1000)) sol = solve(prob, RKMil()) # Plot the powerspectrum of the solution -fig = powerspectrumplot(hh, sol; samplig_rate=0.01); +fig = powerspectrumplot(hh, sol; sampling_rate=0.01); fig save(joinpath(@OUTPUT, "hh_power.svg"), fig); # hide ```` diff --git a/assets/literate/neuron_mass_script.jl b/assets/literate/neuron_mass_script.jl index 60f23cb..959b951 100644 --- a/assets/literate/neuron_mass_script.jl +++ b/assets/literate/neuron_mass_script.jl @@ -54,7 +54,7 @@ prob = SDEProblem(sys, [], (0, 1000)) sol = solve(prob, RKMil()) # Plot the powerspectrum of the solution -fig = powerspectrumplot(hh, sol; samplig_rate=0.01); +fig = powerspectrumplot(hh, sol; sampling_rate=0.01); fig save(joinpath(@OUTPUT, "hh_power.svg"), fig); # hide diff --git a/assets/pages/CS_circuit/code/output/cort_asc_stack.svg b/assets/pages/CS_circuit/code/output/cort_asc_stack.svg index 03dfec8..0bdcdc0 100644 --- a/assets/pages/CS_circuit/code/output/cort_asc_stack.svg +++ b/assets/pages/CS_circuit/code/output/cort_asc_stack.svg @@ -2,66 +2,66 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -72,127 +72,127 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/pages/CS_circuit/code/output/cort_meanfield.svg b/assets/pages/CS_circuit/code/output/cort_meanfield.svg index 5f3b9b8..4efd7fe 100644 --- a/assets/pages/CS_circuit/code/output/cort_meanfield.svg +++ b/assets/pages/CS_circuit/code/output/cort_meanfield.svg @@ -2,120 +2,108 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - + - - - - + - - - - - - - + - + - + - - + + @@ -124,152 +112,130 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + diff --git a/assets/pages/CS_circuit/code/output/cort_power.svg b/assets/pages/CS_circuit/code/output/cort_power.svg index d6cca52..ca1291f 100644 --- a/assets/pages/CS_circuit/code/output/cort_power.svg +++ b/assets/pages/CS_circuit/code/output/cort_power.svg @@ -2,171 +2,168 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - + - + - + - + - + - + @@ -182,197 +179,197 @@ - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + @@ -384,9 +381,9 @@ - - - + + + diff --git a/assets/pages/CS_circuit/code/output/cort_stack.svg b/assets/pages/CS_circuit/code/output/cort_stack.svg index 1f663bc..f779fa1 100644 --- a/assets/pages/CS_circuit/code/output/cort_stack.svg +++ b/assets/pages/CS_circuit/code/output/cort_stack.svg @@ -2,66 +2,66 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -72,138 +72,138 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/pages/CS_circuit/code/output/wta_stack.svg b/assets/pages/CS_circuit/code/output/wta_stack.svg index a633e14..3e3478a 100644 --- a/assets/pages/CS_circuit/code/output/wta_stack.svg +++ b/assets/pages/CS_circuit/code/output/wta_stack.svg @@ -2,66 +2,66 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -72,83 +72,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + diff --git a/assets/pages/CS_circuit/code/output/wta_wta_stack.svg b/assets/pages/CS_circuit/code/output/wta_wta_stack.svg index c77b13f..8521511 100644 --- a/assets/pages/CS_circuit/code/output/wta_wta_stack.svg +++ b/assets/pages/CS_circuit/code/output/wta_wta_stack.svg @@ -2,66 +2,66 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -72,89 +72,89 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/assets/pages/blox_connections/code/output/ex6.res b/assets/pages/blox_connections/code/output/ex6.res index fb77cba..695d560 100644 --- a/assets/pages/blox_connections/code/output/ex6.res +++ b/assets/pages/blox_connections/code/output/ex6.res @@ -1,4 +1,4 @@ -Main.FD_SANDBOX_15604780526313532720.IzhNeuron(ModelingToolkit.ODESystem(0x0000000000001ff8, Symbolics.Equation[Differential(t)(V(t)) ~ 145 + jcn - u(t) + 5V(t) + 0.04(V(t)^2), Differential(t)(u(t)) ~ a*(-u(t) + b*V(t))], t, SymbolicUtils.BasicSymbolic{Real}[V(t), u(t), jcn], SymbolicUtils.BasicSymbolic{Real}[a, b, V_reset, d, θ], nothing, Dict{Any, Any}(:a => a, :b => b, :d => d, :V => V(t), :jcn => jcn, :u => u(t), :θ => θ, :V_reset => V_reset), Any[], Symbolics.Equation[], Base.RefValue{Vector{Symbolics.Num}}(Symbolics.Num[]), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), :izh, "", ModelingToolkit.ODESystem[], Dict{Any, Any}(a => 0.02, V_reset => -50, d => 2, u(t) => -13, V(t) => -65.0, b => 0.2, θ => 30), Dict{Any, Any}(), nothing, nothing, Symbolics.Equation[], nothing, nothing, nothing, ModelingToolkit.SymbolicContinuousCallback[], ModelingToolkit.SymbolicDiscreteCallback[condition: V(t) > θ +Main.FD_SANDBOX_15604780526313532720.IzhNeuron(ModelingToolkit.ODESystem(0x0000000000001ff0, Symbolics.Equation[Differential(t)(V(t)) ~ 145 + jcn - u(t) + 5V(t) + 0.04(V(t)^2), Differential(t)(u(t)) ~ a*(-u(t) + b*V(t))], t, SymbolicUtils.BasicSymbolic{Real}[V(t), u(t), jcn], SymbolicUtils.BasicSymbolic{Real}[a, b, V_reset, d, θ], nothing, Dict{Any, Any}(:a => a, :b => b, :d => d, :V => V(t), :jcn => jcn, :u => u(t), :θ => θ, :V_reset => V_reset), Any[], Symbolics.Equation[], Base.RefValue{Vector{Symbolics.Num}}(Symbolics.Num[]), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), :izh, "", ModelingToolkit.ODESystem[], Dict{Any, Any}(a => 0.02, V_reset => -50, d => 2, u(t) => -13, V(t) => -65.0, b => 0.2, θ => 30), Dict{Any, Any}(), nothing, nothing, Symbolics.Equation[], nothing, nothing, nothing, ModelingToolkit.SymbolicContinuousCallback[], ModelingToolkit.SymbolicDiscreteCallback[condition: V(t) > θ affects: u(t) ~ d + u(t) V(t) ~ V_reset diff --git a/assets/pages/learning/code/output/adj_RL.svg b/assets/pages/learning/code/output/adj_RL.svg index d600f94..d0b9bb5 100644 --- a/assets/pages/learning/code/output/adj_RL.svg +++ b/assets/pages/learning/code/output/adj_RL.svg @@ -2,2223 +2,2223 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2227,4204 +2227,4205 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + + - - - - + + + + + - - + + - + - - - - - + + + + + - - - - + + - - - - - + + + + - - - + + + + - + - + + - - - - + + + + - - - + + + @@ -6433,78 +6434,78 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + + - - - + + @@ -6512,27 +6513,21 @@ - - + - - + - - - - @@ -6543,17 +6538,20 @@ + + - + + @@ -6561,21 +6559,23 @@ - + + + + - - + @@ -6588,4201 +6588,4202 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + + - - - - + + + + + - - + + - + - - - - - + + + + + - - - - + + - - - - - + + + + - - - + + + + - + - + + - - - - + + + + - - - + + + @@ -10791,78 +10792,78 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + + - - - + + @@ -10870,27 +10871,21 @@ - - + - - + - - - - @@ -10901,17 +10896,20 @@ + + - + + @@ -10919,21 +10917,23 @@ - + + + + - - + diff --git a/assets/pages/learning/code/output/adj_open.svg b/assets/pages/learning/code/output/adj_open.svg index 6f5487d..bc64a7c 100644 --- a/assets/pages/learning/code/output/adj_open.svg +++ b/assets/pages/learning/code/output/adj_open.svg @@ -2,1628 +2,1628 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1632,3142 +1632,3142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + - - + + + - - + - - - + + + - - - + + - - - + + - - + + - - + + + - - + + - - + + @@ -4779,19 +4779,19 @@ - + + - - - + + @@ -4799,27 +4799,21 @@ - - + - - + - - - - @@ -4830,17 +4824,20 @@ + + - + + @@ -4848,21 +4845,23 @@ - + + + + - - + @@ -4871,3136 +4870,3136 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + - - + + + - - + - - - + + + - - - + + - - - + + - - + + - - + + + - - + + - - + + @@ -8012,19 +8011,19 @@ - + + - - - + + @@ -8032,27 +8031,21 @@ - - + - - + - - - - @@ -8063,17 +8056,20 @@ + + - + + @@ -8081,21 +8077,23 @@ - + + + + - - + diff --git a/assets/pages/learning/code/output/ex3.out b/assets/pages/learning/code/output/ex3.out index 65a1a48..0f03c9b 100644 --- a/assets/pages/learning/code/output/ex3.out +++ b/assets/pages/learning/code/output/ex3.out @@ -1,34 +1,34 @@ -Trial = 1, Category choice = 2, Response = Correct +Trial = 1, Category choice = 1, Response = False Trial = 2, Category choice = 1, Response = Correct Trial = 3, Category choice = 1, Response = Correct -Trial = 4, Category choice = 2, Response = Correct -Trial = 5, Category choice = 2, Response = False -Trial = 6, Category choice = 2, Response = Correct -Trial = 7, Category choice = 2, Response = Correct -Trial = 8, Category choice = 1, Response = False +Trial = 4, Category choice = 1, Response = False +Trial = 5, Category choice = 1, Response = Correct +Trial = 6, Category choice = 1, Response = False +Trial = 7, Category choice = 1, Response = False +Trial = 8, Category choice = 2, Response = Correct Trial = 9, Category choice = 1, Response = False Trial = 10, Category choice = 1, Response = False -Trial = 11, Category choice = 1, Response = False +Trial = 11, Category choice = 2, Response = Correct Trial = 12, Category choice = 1, Response = False -Trial = 13, Category choice = 1, Response = Correct -Trial = 14, Category choice = 2, Response = Correct -Trial = 15, Category choice = 2, Response = False +Trial = 13, Category choice = 2, Response = False +Trial = 14, Category choice = 1, Response = False +Trial = 15, Category choice = 1, Response = Correct Trial = 16, Category choice = 2, Response = False Trial = 17, Category choice = 1, Response = Correct -Trial = 18, Category choice = 2, Response = False +Trial = 18, Category choice = 1, Response = Correct Trial = 19, Category choice = 2, Response = False -Trial = 20, Category choice = 1, Response = False -Trial = 21, Category choice = 2, Response = False -Trial = 22, Category choice = 2, Response = False -Trial = 23, Category choice = 2, Response = False -Trial = 24, Category choice = 1, Response = False -Trial = 25, Category choice = 1, Response = Correct +Trial = 20, Category choice = 2, Response = Correct +Trial = 21, Category choice = 1, Response = Correct +Trial = 22, Category choice = 1, Response = Correct +Trial = 23, Category choice = 1, Response = Correct +Trial = 24, Category choice = 2, Response = Correct +Trial = 25, Category choice = 2, Response = False Trial = 26, Category choice = 1, Response = Correct -Trial = 27, Category choice = 2, Response = False -Trial = 28, Category choice = 2, Response = False +Trial = 27, Category choice = 1, Response = Correct +Trial = 28, Category choice = 1, Response = Correct Trial = 29, Category choice = 1, Response = False -Trial = 30, Category choice = 1, Response = Correct -Trial = 31, Category choice = 1, Response = False +Trial = 30, Category choice = 2, Response = False +Trial = 31, Category choice = 2, Response = Correct Trial = 32, Category choice = 1, Response = Correct Trial = 33, Category choice = 1, Response = False Trial = 34, Category choice = 1, Response = False @@ -36,65 +36,65 @@ Trial = 35, Category choice = 2, Response = Correct Trial = 36, Category choice = 2, Response = False Trial = 37, Category choice = 2, Response = False Trial = 38, Category choice = 1, Response = Correct -Trial = 39, Category choice = 2, Response = Correct +Trial = 39, Category choice = 1, Response = False Trial = 40, Category choice = 1, Response = Correct Trial = 41, Category choice = 1, Response = False Trial = 42, Category choice = 2, Response = False Trial = 43, Category choice = 1, Response = Correct -Trial = 44, Category choice = 2, Response = Correct -Trial = 45, Category choice = 1, Response = Correct -Trial = 46, Category choice = 1, Response = Correct -Trial = 47, Category choice = 2, Response = False -Trial = 48, Category choice = 2, Response = Correct -Trial = 49, Category choice = 2, Response = Correct -Trial = 50, Category choice = 2, Response = Correct -Trial = 51, Category choice = 2, Response = False +Trial = 44, Category choice = 1, Response = False +Trial = 45, Category choice = 2, Response = False +Trial = 46, Category choice = 2, Response = False +Trial = 47, Category choice = 1, Response = Correct +Trial = 48, Category choice = 1, Response = False +Trial = 49, Category choice = 1, Response = False +Trial = 50, Category choice = 1, Response = False +Trial = 51, Category choice = 1, Response = Correct Trial = 52, Category choice = 2, Response = False -Trial = 53, Category choice = 2, Response = Correct +Trial = 53, Category choice = 1, Response = False Trial = 54, Category choice = 1, Response = False Trial = 55, Category choice = 2, Response = Correct -Trial = 56, Category choice = 1, Response = False +Trial = 56, Category choice = 2, Response = Correct Trial = 57, Category choice = 2, Response = False Trial = 58, Category choice = 2, Response = False -Trial = 59, Category choice = 2, Response = False -Trial = 60, Category choice = 1, Response = Correct +Trial = 59, Category choice = 1, Response = Correct +Trial = 60, Category choice = 2, Response = False Trial = 61, Category choice = 1, Response = False Trial = 62, Category choice = 2, Response = Correct Trial = 63, Category choice = 1, Response = False -Trial = 64, Category choice = 1, Response = Correct -Trial = 65, Category choice = 2, Response = False +Trial = 64, Category choice = 2, Response = False +Trial = 65, Category choice = 1, Response = Correct Trial = 66, Category choice = 2, Response = Correct -Trial = 67, Category choice = 1, Response = Correct -Trial = 68, Category choice = 2, Response = Correct +Trial = 67, Category choice = 2, Response = False +Trial = 68, Category choice = 1, Response = False Trial = 69, Category choice = 2, Response = Correct -Trial = 70, Category choice = 1, Response = Correct +Trial = 70, Category choice = 2, Response = False Trial = 71, Category choice = 2, Response = False -Trial = 72, Category choice = 2, Response = Correct +Trial = 72, Category choice = 1, Response = False Trial = 73, Category choice = 2, Response = Correct Trial = 74, Category choice = 1, Response = Correct -Trial = 75, Category choice = 1, Response = Correct -Trial = 76, Category choice = 1, Response = False -Trial = 77, Category choice = 1, Response = Correct +Trial = 75, Category choice = 2, Response = False +Trial = 76, Category choice = 2, Response = Correct +Trial = 77, Category choice = 2, Response = False Trial = 78, Category choice = 2, Response = False Trial = 79, Category choice = 2, Response = False Trial = 80, Category choice = 2, Response = False -Trial = 81, Category choice = 1, Response = False -Trial = 82, Category choice = 1, Response = Correct -Trial = 83, Category choice = 1, Response = Correct +Trial = 81, Category choice = 2, Response = Correct +Trial = 82, Category choice = 2, Response = False +Trial = 83, Category choice = 2, Response = False Trial = 84, Category choice = 2, Response = Correct -Trial = 85, Category choice = 2, Response = Correct +Trial = 85, Category choice = 1, Response = False Trial = 86, Category choice = 1, Response = Correct -Trial = 87, Category choice = 2, Response = False +Trial = 87, Category choice = 1, Response = Correct Trial = 88, Category choice = 2, Response = False Trial = 89, Category choice = 1, Response = False -Trial = 90, Category choice = 1, Response = Correct -Trial = 91, Category choice = 2, Response = Correct -Trial = 92, Category choice = 2, Response = False +Trial = 90, Category choice = 2, Response = False +Trial = 91, Category choice = 1, Response = False +Trial = 92, Category choice = 1, Response = Correct Trial = 93, Category choice = 2, Response = Correct -Trial = 94, Category choice = 2, Response = Correct -Trial = 95, Category choice = 1, Response = Correct +Trial = 94, Category choice = 1, Response = False +Trial = 95, Category choice = 2, Response = False Trial = 96, Category choice = 1, Response = False -Trial = 97, Category choice = 2, Response = Correct +Trial = 97, Category choice = 1, Response = False Trial = 98, Category choice = 2, Response = Correct -Trial = 99, Category choice = 2, Response = False +Trial = 99, Category choice = 1, Response = Correct Trial = 100, Category choice = 1, Response = Correct diff --git a/assets/pages/learning/code/output/ex3.res b/assets/pages/learning/code/output/ex3.res index 5bff393..7bc70df 100644 --- a/assets/pages/learning/code/output/ex3.res +++ b/assets/pages/learning/code/output/ex3.res @@ -1 +1 @@ -(trial = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], correct = Bool[1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1], action = [2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1]) \ No newline at end of file +(trial = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], correct = Bool[0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1], action = [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1]) \ No newline at end of file diff --git a/assets/pages/neuron_mass/code/ex7.jl b/assets/pages/neuron_mass/code/ex7.jl index 8eb07d8..a3ee2ce 100644 --- a/assets/pages/neuron_mass/code/ex7.jl +++ b/assets/pages/neuron_mass/code/ex7.jl @@ -8,6 +8,6 @@ prob = SDEProblem(sys, [], (0, 1000)) sol = solve(prob, RKMil()) # Plot the powerspectrum of the solution -fig = powerspectrumplot(hh, sol; samplig_rate=0.01); +fig = powerspectrumplot(hh, sol; sampling_rate=0.01); fig save(joinpath(@OUTPUT, "hh_power.svg"), fig); # hide \ No newline at end of file diff --git a/assets/pages/neuron_mass/code/output/hh_power.svg b/assets/pages/neuron_mass/code/output/hh_power.svg index e6eb4c8..869646b 100644 --- a/assets/pages/neuron_mass/code/output/hh_power.svg +++ b/assets/pages/neuron_mass/code/output/hh_power.svg @@ -2,177 +2,192 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + + + + - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -188,213 +203,226 @@ - - - - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + @@ -406,10 +434,11 @@ - - - - + + + + + diff --git a/notebooks/CS_circuit.ipynb b/notebooks/CS_circuit.ipynb index 9a75cfc..b7bc3e1 100644 --- a/notebooks/CS_circuit.ipynb +++ b/notebooks/CS_circuit.ipynb @@ -616,11 +616,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/DCM.ipynb b/notebooks/DCM.ipynb index e924873..5fc687c 100644 --- a/notebooks/DCM.ipynb +++ b/notebooks/DCM.ipynb @@ -157,7 +157,7 @@ "outputs": [], "cell_type": "code", "source": [ - "@named simmodel = system_from_graph(g, split=false)" + "@named simmodel = system_from_graph(g, split=false);" ], "metadata": {}, "execution_count": null @@ -433,7 +433,7 @@ "outputs": [], "cell_type": "code", "source": [ - "@named fitmodel = system_from_graph(g, simplify=false)" + "@named fitmodel = system_from_graph(g, simplify=false);" ], "metadata": {}, "execution_count": null @@ -710,11 +710,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/PING_circuit.ipynb b/notebooks/PING_circuit.ipynb index b741280..2830378 100644 --- a/notebooks/PING_circuit.ipynb +++ b/notebooks/PING_circuit.ipynb @@ -339,11 +339,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/blox_connections.ipynb b/notebooks/blox_connections.ipynb index 9cc3222..bf8a9ea 100644 --- a/notebooks/blox_connections.ipynb +++ b/notebooks/blox_connections.ipynb @@ -103,7 +103,7 @@ "source": [ "@named ifn = IFNeuron() ## create an Integrate-and-Fire neuron, simpler than the `LIFNeuron`\n", "\n", - "connection_equations(lif, ifn)" + "connection_equations(lif, ifn, weight=1, connection_rule=\"basic\")" ], "metadata": {}, "execution_count": null @@ -119,7 +119,7 @@ "outputs": [], "cell_type": "code", "source": [ - "connection_rule(lif, ifn)" + "connection_rule(lif, ifn, weight=1, connection_rule=\"psp\")" ], "metadata": {}, "execution_count": null @@ -127,7 +127,7 @@ { "cell_type": "markdown", "source": [ - "The output of both functions now seems very similar. However `connection_rule` will be more useful later on when we start using more complex Bloxs and connection rules." + "The `weight` and `connection_rule` are keyword arguments that can be ommitted. If we ommit them then we will get a message informing us about the default values that they take. The `connection_rule` argument applies to connections between `Neuron` types; `\"basic\"` is a simple weighted connection and `\"psp\"` applies a postsynaptic potential type of connection. The output of both `connection_equations` and `connection_rule` functions now seems very similar. However `connection_rule` will be more useful later on when we start using more complex Bloxs and connection rules that do more than just adding an equation and a symbolic weight." ], "metadata": {} }, @@ -146,7 +146,7 @@ "cell_type": "code", "source": [ "g = MetaDiGraph()\n", - "add_edge!(g, lif => ifn)\n", + "add_edge!(g, lif => ifn, weight=1) ## add connection with specific weight value\n", "\n", "@named sys = system_from_graph(g)\n", "prob = ODEProblem(sys, [], (0, 200.0))\n", @@ -249,8 +249,8 @@ "outputs": [], "cell_type": "code", "source": [ - "connection_equations(izh, lif) ## connection from izh to lif\n", - "connection_equations(lif, izh) ## connection from lif to izh" + "connection_equations(izh, lif, weight=1, connection_rule=\"basic\") ## connection from izh to lif\n", + "connection_equations(lif, izh, weight=1, connection_rule=\"basic\") ## connection from lif to izh" ], "metadata": {}, "execution_count": null @@ -305,7 +305,7 @@ "outputs": [], "cell_type": "code", "source": [ - "connection_equations(lif, izh)" + "connection_equations(lif, izh, weight=1, connection_rule=\"basic\")" ], "metadata": {}, "execution_count": null @@ -517,11 +517,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/decision_making.ipynb b/notebooks/decision_making.ipynb index 27a0356..1cb4ddf 100644 --- a/notebooks/decision_making.ipynb +++ b/notebooks/decision_making.ipynb @@ -132,7 +132,8 @@ { "cell_type": "markdown", "source": [ - "## System construction & Simulation" + "## System construction & Simulation\n", + "We construct the graph with all connections and weights according to [1]. Please note that the `system_from_graph` call and the subsequent `ODEProblem` construction will take some minutes (probably 4-5, depending on your machine) as the system size is larger compared to other examples. The `graphdynamics=true` flag that we set in `system_from_graph` though will greatly enhance performance here." ], "metadata": {} }, @@ -261,11 +262,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/intro_diffeq.ipynb b/notebooks/intro_diffeq.ipynb index bbc030c..c13816b 100644 --- a/notebooks/intro_diffeq.ipynb +++ b/notebooks/intro_diffeq.ipynb @@ -601,11 +601,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/intro_plot.ipynb b/notebooks/intro_plot.ipynb index 2f62e0c..3dc6abc 100644 --- a/notebooks/intro_plot.ipynb +++ b/notebooks/intro_plot.ipynb @@ -334,11 +334,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/learning.ipynb b/notebooks/learning.ipynb index d61c788..2ec22cd 100644 --- a/notebooks/learning.ipynb +++ b/notebooks/learning.ipynb @@ -372,11 +372,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/notebooks/neuron_mass.ipynb b/notebooks/neuron_mass.ipynb index 89944d7..a5ed15e 100644 --- a/notebooks/neuron_mass.ipynb +++ b/notebooks/neuron_mass.ipynb @@ -404,11 +404,7 @@ " function BernoulliSpikes(probability_spike, tspan, dt; name, namespace=nothing)\n", " new(name, namespace, tspan, probability_spike, dt)\n", " end\n", - "end\n", - "\n", - "import Neuroblox: generate_spike_times, connection_spike_affects\n", - "\n", - "function generate_spike_times(source::BernoulliSpikes)" + "end" ], "metadata": {}, "execution_count": null @@ -416,7 +412,7 @@ { "cell_type": "markdown", "source": [ - "Write a function that generates and returns a vector of spike times." + "We import `generate_spike_times` and write our own dispatch that generates and returns a vector of spike times." ], "metadata": {} }, @@ -424,6 +420,9 @@ "outputs": [], "cell_type": "code", "source": [ + "import Neuroblox: generate_spike_times, connection_spike_affects\n", + "\n", + "function generate_spike_times(source::BernoulliSpikes)\n", " t_range = source.tspan[1]:source.dt:source.tspan[2]\n", " t_spikes = Float64[]\n", " for t in t_range\n", @@ -432,9 +431,7 @@ " end\n", " end\n", " return t_spikes\n", - "end\n", - "\n", - "function connection_spike_affects(source::BernoulliSpikes, ifn::IFNeuron, w)" + "end" ], "metadata": {}, "execution_count": null @@ -442,8 +439,7 @@ { "cell_type": "markdown", "source": [ - "Write all equations that should be evaluated each time `source` spikes.\n", - "`w` is the symbolic connection weight, same as in `connection_equations`." + "We also import `connection_spike_affects` and dispatch it by pairing our new source with any neuron that we want to affect. In this function we write all equations that should be evaluated each time `source` spikes. The `w` input is necessary and it is the symbolic connection weight, same as in `connection_equations`." ], "metadata": {} }, @@ -451,6 +447,7 @@ "outputs": [], "cell_type": "code", "source": [ + "function connection_spike_affects(source::BernoulliSpikes, ifn::IFNeuron, w)\n", " eqs = [ifn.I_in ~ ifn.I_in + w]\n", " return eqs\n", "end\n", @@ -735,11 +732,11 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.10.5" + "version": "1.10.4" }, "kernelspec": { "name": "julia-1.10", - "display_name": "Julia 1.10.5", + "display_name": "Julia 1.10.4", "language": "julia" } }, diff --git a/pages/blox_connections/index.html b/pages/blox_connections/index.html index c817d98..21222cf 100644 --- a/pages/blox_connections/index.html +++ b/pages/blox_connections/index.html @@ -47,7 +47,7 @@ end end -# In the `IzhNeuron` constructor function we keep all arguments as keyword arguments so that we can set them more conveniently as `arg = value`. Spike threshold `θ=30` is now included as a parameter. Default values for all parameters are the keyword arguments from above. This way we can set them easily during construction.

NOTE: In IzhNeuron the jcn variable does not get a default value, only the [input=true] tag. This means that other Bloxs will connect to a IzhNeuron through jcn.

Neuroblox automatically initializes a jcn ~ 0 equation and then accumulates connection terms in it. This happens with all input variables of Bloxs.

Similarly the [output=true] tag designates the V variable as the output variable. It is necessary for every Blox to have one if they rely on generic connection rules that fetch the output variable and add it to the connection equation.

Both input and output tags are also useful to note which variables should be used when writing connection rules to or from our Blox.

Now we are ready to define the first object of IzhNeuron and connect it with the LIFNeuron we created above.

@named izh = IzhNeuron()
IzhNeuron(ModelingToolkit.ODESystem(0x0000000000001ff8, Symbolics.Equation[Differential(t)(V(t)) ~ 145 + jcn - u(t) + 5V(t) + 0.04(V(t)^2), Differential(t)(u(t)) ~ a*(-u(t) + b*V(t))], t, SymbolicUtils.BasicSymbolic{Real}[V(t), u(t), jcn], SymbolicUtils.BasicSymbolic{Real}[a, b, V_reset, d, θ], nothing, Dict{Any, Any}(:a => a, :b => b, :d => d, :V => V(t), :jcn => jcn, :u => u(t), :θ => θ, :V_reset => V_reset), Any[], Symbolics.Equation[], Base.RefValue{Vector{Symbolics.Num}}(Symbolics.Num[]), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), :izh, "", ModelingToolkit.ODESystem[], Dict{Any, Any}(a => 0.02, V_reset => -50, d => 2, u(t) => -13, V(t) => -65.0, b => 0.2, θ => 30), Dict{Any, Any}(), nothing, nothing, Symbolics.Equation[], nothing, nothing, nothing, ModelingToolkit.SymbolicContinuousCallback[], ModelingToolkit.SymbolicDiscreteCallback[condition: V(t) > θ
+# In the `IzhNeuron` constructor function we keep all arguments as keyword arguments so that we can set them more conveniently as `arg = value`. Spike threshold `θ=30` is now included as a parameter. Default values for all parameters are the keyword arguments from above. This way we can set them easily during construction.

NOTE: In IzhNeuron the jcn variable does not get a default value, only the [input=true] tag. This means that other Bloxs will connect to a IzhNeuron through jcn.

Neuroblox automatically initializes a jcn ~ 0 equation and then accumulates connection terms in it. This happens with all input variables of Bloxs.

Similarly the [output=true] tag designates the V variable as the output variable. It is necessary for every Blox to have one if they rely on generic connection rules that fetch the output variable and add it to the connection equation.

Both input and output tags are also useful to note which variables should be used when writing connection rules to or from our Blox.

Now we are ready to define the first object of IzhNeuron and connect it with the LIFNeuron we created above.

@named izh = IzhNeuron()
IzhNeuron(ModelingToolkit.ODESystem(0x0000000000001ff0, Symbolics.Equation[Differential(t)(V(t)) ~ 145 + jcn - u(t) + 5V(t) + 0.04(V(t)^2), Differential(t)(u(t)) ~ a*(-u(t) + b*V(t))], t, SymbolicUtils.BasicSymbolic{Real}[V(t), u(t), jcn], SymbolicUtils.BasicSymbolic{Real}[a, b, V_reset, d, θ], nothing, Dict{Any, Any}(:a => a, :b => b, :d => d, :V => V(t), :jcn => jcn, :u => u(t), :θ => θ, :V_reset => V_reset), Any[], Symbolics.Equation[], Base.RefValue{Vector{Symbolics.Num}}(Symbolics.Num[]), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Any}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), Base.RefValue{Matrix{Symbolics.Num}}(Matrix{Symbolics.Num}(undef, 0, 0)), :izh, "", ModelingToolkit.ODESystem[], Dict{Any, Any}(a => 0.02, V_reset => -50, d => 2, u(t) => -13, V(t) => -65.0, b => 0.2, θ => 30), Dict{Any, Any}(), nothing, nothing, Symbolics.Equation[], nothing, nothing, nothing, ModelingToolkit.SymbolicContinuousCallback[], ModelingToolkit.SymbolicDiscreteCallback[condition: V(t) > θ
 affects:
   u(t) ~ d + u(t)
   V(t) ~ V_reset
diff --git a/pages/learning/index.html b/pages/learning/index.html
index 964d2db..cb30299 100644
--- a/pages/learning/index.html
+++ b/pages/learning/index.html
@@ -103,37 +103,37 @@
 
 adjacency(fig[1,1], agent; title = "Before Learning", colorrange=(0,0.2))
 
-trace = run_experiment!(agent, env; t_warmup=200.0, alg=Vern7(), verbose=true)
Trial = 1, Category choice = 2, Response = Correct
+trace = run_experiment!(agent, env; t_warmup=200.0, alg=Vern7(), verbose=true)
Trial = 1, Category choice = 1, Response = False
 Trial = 2, Category choice = 1, Response = Correct
 Trial = 3, Category choice = 1, Response = Correct
-Trial = 4, Category choice = 2, Response = Correct
-Trial = 5, Category choice = 2, Response = False
-Trial = 6, Category choice = 2, Response = Correct
-Trial = 7, Category choice = 2, Response = Correct
-Trial = 8, Category choice = 1, Response = False
+Trial = 4, Category choice = 1, Response = False
+Trial = 5, Category choice = 1, Response = Correct
+Trial = 6, Category choice = 1, Response = False
+Trial = 7, Category choice = 1, Response = False
+Trial = 8, Category choice = 2, Response = Correct
 Trial = 9, Category choice = 1, Response = False
 Trial = 10, Category choice = 1, Response = False
-Trial = 11, Category choice = 1, Response = False
+Trial = 11, Category choice = 2, Response = Correct
 Trial = 12, Category choice = 1, Response = False
-Trial = 13, Category choice = 1, Response = Correct
-Trial = 14, Category choice = 2, Response = Correct
-Trial = 15, Category choice = 2, Response = False
+Trial = 13, Category choice = 2, Response = False
+Trial = 14, Category choice = 1, Response = False
+Trial = 15, Category choice = 1, Response = Correct
 Trial = 16, Category choice = 2, Response = False
 Trial = 17, Category choice = 1, Response = Correct
-Trial = 18, Category choice = 2, Response = False
+Trial = 18, Category choice = 1, Response = Correct
 Trial = 19, Category choice = 2, Response = False
-Trial = 20, Category choice = 1, Response = False
-Trial = 21, Category choice = 2, Response = False
-Trial = 22, Category choice = 2, Response = False
-Trial = 23, Category choice = 2, Response = False
-Trial = 24, Category choice = 1, Response = False
-Trial = 25, Category choice = 1, Response = Correct
+Trial = 20, Category choice = 2, Response = Correct
+Trial = 21, Category choice = 1, Response = Correct
+Trial = 22, Category choice = 1, Response = Correct
+Trial = 23, Category choice = 1, Response = Correct
+Trial = 24, Category choice = 2, Response = Correct
+Trial = 25, Category choice = 2, Response = False
 Trial = 26, Category choice = 1, Response = Correct
-Trial = 27, Category choice = 2, Response = False
-Trial = 28, Category choice = 2, Response = False
+Trial = 27, Category choice = 1, Response = Correct
+Trial = 28, Category choice = 1, Response = Correct
 Trial = 29, Category choice = 1, Response = False
-Trial = 30, Category choice = 1, Response = Correct
-Trial = 31, Category choice = 1, Response = False
+Trial = 30, Category choice = 2, Response = False
+Trial = 31, Category choice = 2, Response = Correct
 Trial = 32, Category choice = 1, Response = Correct
 Trial = 33, Category choice = 1, Response = False
 Trial = 34, Category choice = 1, Response = False
@@ -141,69 +141,69 @@
 Trial = 36, Category choice = 2, Response = False
 Trial = 37, Category choice = 2, Response = False
 Trial = 38, Category choice = 1, Response = Correct
-Trial = 39, Category choice = 2, Response = Correct
+Trial = 39, Category choice = 1, Response = False
 Trial = 40, Category choice = 1, Response = Correct
 Trial = 41, Category choice = 1, Response = False
 Trial = 42, Category choice = 2, Response = False
 Trial = 43, Category choice = 1, Response = Correct
-Trial = 44, Category choice = 2, Response = Correct
-Trial = 45, Category choice = 1, Response = Correct
-Trial = 46, Category choice = 1, Response = Correct
-Trial = 47, Category choice = 2, Response = False
-Trial = 48, Category choice = 2, Response = Correct
-Trial = 49, Category choice = 2, Response = Correct
-Trial = 50, Category choice = 2, Response = Correct
-Trial = 51, Category choice = 2, Response = False
+Trial = 44, Category choice = 1, Response = False
+Trial = 45, Category choice = 2, Response = False
+Trial = 46, Category choice = 2, Response = False
+Trial = 47, Category choice = 1, Response = Correct
+Trial = 48, Category choice = 1, Response = False
+Trial = 49, Category choice = 1, Response = False
+Trial = 50, Category choice = 1, Response = False
+Trial = 51, Category choice = 1, Response = Correct
 Trial = 52, Category choice = 2, Response = False
-Trial = 53, Category choice = 2, Response = Correct
+Trial = 53, Category choice = 1, Response = False
 Trial = 54, Category choice = 1, Response = False
 Trial = 55, Category choice = 2, Response = Correct
-Trial = 56, Category choice = 1, Response = False
+Trial = 56, Category choice = 2, Response = Correct
 Trial = 57, Category choice = 2, Response = False
 Trial = 58, Category choice = 2, Response = False
-Trial = 59, Category choice = 2, Response = False
-Trial = 60, Category choice = 1, Response = Correct
+Trial = 59, Category choice = 1, Response = Correct
+Trial = 60, Category choice = 2, Response = False
 Trial = 61, Category choice = 1, Response = False
 Trial = 62, Category choice = 2, Response = Correct
 Trial = 63, Category choice = 1, Response = False
-Trial = 64, Category choice = 1, Response = Correct
-Trial = 65, Category choice = 2, Response = False
+Trial = 64, Category choice = 2, Response = False
+Trial = 65, Category choice = 1, Response = Correct
 Trial = 66, Category choice = 2, Response = Correct
-Trial = 67, Category choice = 1, Response = Correct
-Trial = 68, Category choice = 2, Response = Correct
+Trial = 67, Category choice = 2, Response = False
+Trial = 68, Category choice = 1, Response = False
 Trial = 69, Category choice = 2, Response = Correct
-Trial = 70, Category choice = 1, Response = Correct
+Trial = 70, Category choice = 2, Response = False
 Trial = 71, Category choice = 2, Response = False
-Trial = 72, Category choice = 2, Response = Correct
+Trial = 72, Category choice = 1, Response = False
 Trial = 73, Category choice = 2, Response = Correct
 Trial = 74, Category choice = 1, Response = Correct
-Trial = 75, Category choice = 1, Response = Correct
-Trial = 76, Category choice = 1, Response = False
-Trial = 77, Category choice = 1, Response = Correct
+Trial = 75, Category choice = 2, Response = False
+Trial = 76, Category choice = 2, Response = Correct
+Trial = 77, Category choice = 2, Response = False
 Trial = 78, Category choice = 2, Response = False
 Trial = 79, Category choice = 2, Response = False
 Trial = 80, Category choice = 2, Response = False
-Trial = 81, Category choice = 1, Response = False
-Trial = 82, Category choice = 1, Response = Correct
-Trial = 83, Category choice = 1, Response = Correct
+Trial = 81, Category choice = 2, Response = Correct
+Trial = 82, Category choice = 2, Response = False
+Trial = 83, Category choice = 2, Response = False
 Trial = 84, Category choice = 2, Response = Correct
-Trial = 85, Category choice = 2, Response = Correct
+Trial = 85, Category choice = 1, Response = False
 Trial = 86, Category choice = 1, Response = Correct
-Trial = 87, Category choice = 2, Response = False
+Trial = 87, Category choice = 1, Response = Correct
 Trial = 88, Category choice = 2, Response = False
 Trial = 89, Category choice = 1, Response = False
-Trial = 90, Category choice = 1, Response = Correct
-Trial = 91, Category choice = 2, Response = Correct
-Trial = 92, Category choice = 2, Response = False
+Trial = 90, Category choice = 2, Response = False
+Trial = 91, Category choice = 1, Response = False
+Trial = 92, Category choice = 1, Response = Correct
 Trial = 93, Category choice = 2, Response = Correct
-Trial = 94, Category choice = 2, Response = Correct
-Trial = 95, Category choice = 1, Response = Correct
+Trial = 94, Category choice = 1, Response = False
+Trial = 95, Category choice = 2, Response = False
 Trial = 96, Category choice = 1, Response = False
-Trial = 97, Category choice = 2, Response = Correct
+Trial = 97, Category choice = 1, Response = False
 Trial = 98, Category choice = 2, Response = Correct
-Trial = 99, Category choice = 2, Response = False
+Trial = 99, Category choice = 1, Response = Correct
 Trial = 100, Category choice = 1, Response = Correct
-(trial = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], correct = Bool[1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1], action = [2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1])

trace is a NamedTuple containing useful outcomes for each trial of the experiment:

trace.trial ## trial indices
+(trial = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], correct = Bool[0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1], action = [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1])

trace is a NamedTuple containing useful outcomes for each trial of the experiment:

trace.trial ## trial indices
 trace.correct ## whether the response was correct or not on each trial
 trace.action; ## what responce was made on each trial, 1 is left and 2 is right
 
diff --git a/pages/neuron_mass/index.html b/pages/neuron_mass/index.html
index 2b25bbd..7f3c1ca 100644
--- a/pages/neuron_mass/index.html
+++ b/pages/neuron_mass/index.html
@@ -35,7 +35,7 @@
 sol = solve(prob, RKMil())
 
 # Plot the powerspectrum of the solution
-fig = powerspectrumplot(hh, sol; samplig_rate=0.01);
+fig = powerspectrumplot(hh, sol; sampling_rate=0.01);
 fig

We can use all other plots from above with this stochastic HH neuron since it is a subtype of Neuron. Given its stochastic nature it might be additionally meaningful to show the powerspectrum of its activity.

Exercise: Try changing the influence of the stochastic term. What do you notice about the powerspectrum of HHNeuronExci_STN_Adam_Blox?

Sources

External sources in Neuroblox are a particular Blox subtype (<: AbstractBlox) which contains a system with output and no input variables. Naturally source Bloxs can only connect to other (non-source) Blox and can not receive connections from any Blox. There are two main categories of sources, ones with continuous dynamics for their variables and ones that operate through events (callbacks).

Continuous input sources

These sources are comprised of algebraic (and potentially differential) equations that become part of the dynamics of Bloxs that the source connects to. We will drive the WilsonCowan Blox above with a ConstantInput source. The connection between the two Bloxs looks like

@named inp = ConstantInput(; I=3)
 
 connection_rule(inp, nm)
Connections :