This code is a first working version of the MATLAB-NEURON interface. It is the result of a collaboration between the McDougal lab, MathWorks and VORtech.
We opted to use clibgen and clib to connect MATLAB and NEURON, which works for MATLAB versions R2022a and up. For now, only Windows with the MinGW compiler is supported (closes #16); more work is needed to get the code working on linux (issue #17) and mac (issue #18).
This code uses NEURON 8 (closes #14), which still has some issues with error handling. These should be fixed in NEURON 9 (issue #15), but that version is currently still under development.
The interface uses dynamic objects, functions and variables where possible (closes #1) using dynamicprops. This means it asks NEURON which objects, functions and variables are available, and then creates MATLAB wrappers automatically.
Other relevant issues:
closes #2 (MATLAB plot calls Vector.double() in the background)
partial completion of issue #5 (shared memory with Vector.data(), but a copy is still made in Vector.double())
partial completion of issue #20 (see doc/README_DEV.md; more explanation might be needed)
This code is a first working version of the MATLAB-NEURON interface. It is the result of a collaboration between the McDougal lab, MathWorks and VORtech.
We opted to use clibgen and clib to connect MATLAB and NEURON, which works for MATLAB versions R2022a and up. For now, only Windows with the MinGW compiler is supported (closes #16); more work is needed to get the code working on linux (issue #17) and mac (issue #18).
This code uses NEURON 8 (closes #14), which still has some issues with error handling. These should be fixed in NEURON 9 (issue #15), but that version is currently still under development.
The interface uses dynamic objects, functions and variables where possible (closes #1) using dynamicprops. This means it asks NEURON which objects, functions and variables are available, and then creates MATLAB wrappers automatically.
Other relevant issues: