Tag: 神经科学

具有太多参数的类:更好的devise策略?

我正在与神经元模型。 我正在devise的一个类是一个细胞类,这是一个神经元的拓扑描述(几个连接在一起的隔间)。 它有很多参数,但都是相关的,例如: 顶端双翅,体长,体细胞直径,顶端长度,分枝随机性,分枝长度等等…总共有15个参数! 我可以将所有这些设置为默认值,但我的类看起来很疯狂,几行参数。 这种事情也必须偶尔发生在别人身上,有没有一些明显的更好的方法来devise这个或者我做对了吗? 更新:正如你有些人问我已经附加了我的类的代码,正如你可以看到这个类有大量的参数(> 15),但它们都被使用,并且是定义单元格的拓扑所必需的。 问题的根本在于他们创造的物理对象是非常复杂的。 我附加了这个类生成的对象的图像表示。 有经验的程序员如何做到这一点,以避免定义中的参数太多? class LayerV(__Cell): def __init__(self,somatic_dendrites=10,oblique_dendrites=10, somatic_bifibs=3,apical_bifibs=10,oblique_bifibs=3, L_sigma=0.0,apical_branch_prob=1.0, somatic_branch_prob=1.0,oblique_branch_prob=1.0, soma_L=30,soma_d=25,axon_segs=5,myelin_L=100, apical_sec1_L=200,oblique_sec1_L=40,somadend_sec1_L=60, ldecf=0.98): import random import math #make main the regions: axon=Axon(n_axon_seg=axon_segs) soma=Soma(diam=soma_d,length=soma_L) main_apical_dendrite=DendriticTree(bifibs= apical_bifibs,first_sec_L=apical_sec1_L, L_sigma=L_sigma,L_decrease_factor=ldecf, first_sec_d=9,branch_prob=apical_branch_prob) #make the somatic denrites somatic_dends=self.dendrite_list(num_dends=somatic_dendrites, bifibs=somatic_bifibs,first_sec_L=somadend_sec1_L, first_sec_d=1.5,L_sigma=L_sigma, branch_prob=somatic_branch_prob,L_decrease_factor=ldecf) #make oblique dendrites: oblique_dends=self.dendrite_list(num_dends=oblique_dendrites, bifibs=oblique_bifibs,first_sec_L=oblique_sec1_L, first_sec_d=1.5,L_sigma=L_sigma, branch_prob=oblique_branch_prob,L_decrease_factor=ldecf) #connect axon to soma: axon_section=axon.get_connecting_section() […]