littlebot
Published on 2025-04-07 / 1 Visits
0

【源码】基于C语言的大脑模拟系统

项目简介

本项目是一个基于C语言开发的开源项目,专注于模拟人类大脑神经元节点间的能量转移。通过模拟运行神经网络或类似结构,研究神经元节点能量转移的规律。项目接收一系列参数,如节点网格大小、观测节点、输入频率等,以此模拟能量在节点间的转移,并输出各观测节点的能量时间序列。

项目的主要特性和功能

  1. 可模拟大脑神经元节点间的能量转移,运行神经网络或类似结构。
  2. 高度可配置,能通过命令行参数精准控制模拟的各个方面,如节点网格大小、观测节点、输入频率等。
  3. 可将每个观测节点的能量时间序列输出到CSV文件。
  4. 功能丰富,包含节点状态更新、输入信号处理、观察节点数据提取等功能。

安装使用步骤

编译

Linux

  1. 复制项目仓库。
  2. 在工作目录根目录下运行$ make
  3. (可选)使用make install进行安装。

Windows

  1. 复制项目仓库。
  2. 在Visual Studio中打开 win32\win32.sln
  3. 使用Visual Studio进行编译。

自定义编译

可通过传递预处理器选项来定制编译,使用make时,将选项传递给 DFLAGS 变量,使用GCC的常规 -D 开关。 示例:设置 THREADFACTOR 指令为 0.5$ make DFLAGS="-DTHREADFACTOR=0.5"。 可用开关及默认值: - THREADFACTOR:默认值为 1。 - MULTITHREADING:默认值为 1。

可用函数修改器及默认值: - D_NEIGHBORFACTOR:默认值为 1。 - ID_NEIGHBORFACTOR:默认值为 1。 - ENERGY_FACTOR:默认值为 1。 - ENERGY_WEIGHT:默认值为 1。 - DELTA_FACTOR:默认值为 1。 - SLOPE_FACTOR:默认值为 1。 - SLOPE_WEIGHT:默认值为 1。

运行

  1. 在执行模拟程序的目录下创建 ./testoutput 目录,结果将写入该目录。
  2. (可选)配置输入位图图像文件。
  3. 以以下方式执行模拟:
    • Linux,从构建目录运行:$ ./brainsimulation -x X_NODES -y Y_NODES --ticks SIMULATION_TICKS [OPTIONAL PARAMETERS]
    • Linux,使用 make install 编译后:$ brainsimulation -x X_NODES -y Y_NODES --ticks SIMULATION_TICKS [OPTIONAL PARAMETERS]
    • Windows:> .\brainsimulation -x X_NODES -y Y_NODES --ticks SIMULATION_TICKS [OPTIONAL PARAMETERS]

命令行参数

  • 必需参数
    • -x X_NODES:模拟节点网格在X轴上的大小。
    • -y Y_NODES:模拟节点网格在Y轴上的大小。
    • --ticks SIMULATION_TICKS:模拟的时间步数。
  • 推荐参数
    • --xobs OBS_X_INDICES:观测节点的X索引。
    • --yobs OBS_Y_INDICES:观测节点的Y索引,数量需与 --xobs 相同。
  • 可选参数
    • --allobs:观察所有节点,忽略 --xobs--yobs
    • --startlevels STARTING_ENERGY_LEVELS:具有初始能量的节点的初始能量水平。
    • --startx STARTING_ENERGY_X_INDICES:具有初始能量的节点的X索引,数量需与 --startlevels 相同。
    • --starty STARTING_ENERGY_Y_INDICES:具有初始能量的节点的Y索引,数量需与 --startlevels 相同。
    • --freqs FREQUENCIES:使用正弦频率生成能量的节点的频率,不能与 --freqbitmaps 及其相关标志一起使用。
    • --freqx FREQUENCY_NODES_X_INDICES:使用频率生成能量的节点的X索引,数量需与 --freqs 相同。
    • --freqy STARTING_ENERGY_Y_INDICES:使用频率生成能量的节点的Y索引,数量需与 --freqs 相同。
    • --freqbitmaps FILENAMES:用于指定正弦频率的位图图像的文件路径,不能与 --freqs 及其相关标志一起使用。
    • --minbitmapfreq MIN_FREQUENCY:生成的最小频率。
    • --maxbitmapfreq MAX_FREQUENCY:生成的最大频率。
    • --bitmapduration DURATION_TICKS:位图信号的生成持续时间。

查看结果

模拟结果将输出到CSV文件,可使用其他工具进行分析。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】