我在用lmfit拟合分段函数时,出现“ValueError: NumPy boolean array indexing assignment cannot assign 40 input values to the 26 output values where the mask is true”的错误。经过筛查发现是由于在lmfit内部y[cond] = func(vals, *args, **kw)这步,input的长度和lmfit内部算出来的output长度不同,如图中cond用于判断是不是某个分段区间,图中一共有26个该区间的x,要计算得到26个y,但计算出了40个y,是全部区间的x的数量。
不知道是否有遇到这个问题的朋友
索引的大小不匹配。前面40,后面26