首页 > 解决方案 > For 循环错误:只能将 size-1 数组转换为 Python 标量

问题描述

for t in range(0,12):
    x[t+1,:] = 100 + (0.7 + (0.4/(1 + math.exp(0.1*((x[t,:]- 99)**2))))) 

我不断收到错误:TypeError:只有 size-1 数组可以转换为 Python 标量。我的 x 如下所示:

x = np.zeros((13,196))
x[0,:] = 106 * np.ones((1,196))

有人可以帮助如何摆脱这个错误吗?

所以一个 float64 大小(13,196),从第一行的值 106 开始。

标签: python

解决方案


您得到 TypeError 是因为您在math.exp函数中传递了一个数组而不是传递单个值。此函数可用于单个值。您可以使用np.exp代替math.exp


推荐阅读