1

我正在使用 MATLAB ODE 套件来求解一个由 13 个微分方程组成的系统,这些方程决定了神经元的行为。现在我想添加第二个神经元,它由同一组微分方程操作,但受第一个神经元的影响。更重要的是,这第二个神经元也会影响第一个神经元。(这两个单元之间的前馈和反馈。)

有没有方便的方法来做到这一点?我可以将微分方程分布在两个函数文件上,还是必须将它们复制到原始文件下面,以便在同一个文件中有更长的方程列表?我希望能够每个单元格有一个文件,并以某种方式保持这种组织。(如果我可能想再次将其扩展到三个或四个神经元。)

如果我的问题有任何不清楚或不够具体,请指出。我会尝试解释我在做什么/尝试更好。

4

2 回答 2

0

我对 MATLAB 几乎没有经验,但我在 MATLAB 中看到的一种方法是为每个需要存储的状态变量创建一个列表(一维矩阵?)。例如,实现 Hodgkin-Huxley 神经元将需要一个矩阵,每个矩阵用于门控变量“m”、“h”和“n”,以及一个用于“V”的矩阵。每个列表与模拟中的神经元数量一样长。然后使列表中的第 i 个位置对应第 i 个神经元。

模拟流程如下所示(设 N 为神经元数量):

对于模拟中的每个时间步,

1) 让'索引 = 1'

2) 使用每个状态变量列表/矩阵中的第一个元素作为参数,调用文件中的 ODE 系统。

3)在索引中加一。如果索引现在大于 N,则将时间步向前移动 1 并从 (1) 重新开始。

听起来您还需要矩阵来存储有关彼此影响的信息。虽然我知道很多人都这样做,但在更大范围内它似乎很麻烦(特别是如果你曾经将神经元与不同的 ODE 集结合起来)。从长远来看,我强烈建议迁移到更加面向对象的方法。它们应该提供一种更简单的方法来“绑定”神经元的每个实例及其变量和方程,并且创建任意数量的神经元不需要额外的代码。

http://www.mathworks.com/discovery/object-oriented-programming.html

于 2014-06-05T16:14:38.097 回答
0

您必须将所有变量的大向量拆分为每个神经元变量的子数组,使用其变量调用每个文件,然后连接得到的方向向量。

如果神经元的行为相似,您应该考虑使用一种方法(文件),其中包含方向的神经元函数内部部分的循环,然后可能是交互项的双循环。将连接信息放入数据结构中,以便灵活地更改它。

于 2014-05-20T18:59:38.403 回答