我已经编写了一个函数,通过近似两个变量(elev和MaxQ)之间的关系来替换scipy.interp1d,以提高代码的速度。这个方程是一个四阶多项式。我希望该函数能够计算单一输入和一维数组输入的Q值。该函数如下所示。 size=np.shape(elev) if (elev>367.8): #minimum elev for flow
return -0.00028194553726719*elev**4+0.28402799
negative number cannot be raised to a fractional power
Out[7]: -1.0
上面的操作是在python因此,首先,为什么这个误差如此明显,-ve数可以有立方根或第五根等等,如果是这样的话,它应该是一致的,而在第二种情况下,当-1被提高到分数幂(1/3)时,它不会出现误差。