首页 > 解决方案 > 在不使用循环的情况下处理两个相互依赖的数组,TypeError:只有 size-1 数组可以转换为 Python 标量

问题描述

我是 python 新手,虽然没有找到任何答案,但我已经搜索了一段时间。代码的开头是:

import numpy as np
import matplotlib.pyplot as plt


NTAB=np.array([25,40,60,100,160,250,400,600])

x,h=np.linspace(0,3,NTAB,retstep=True)

我需要 x 的值取决于 NTAB。显然python给了我错误:

TypeError: only size-1 arrays can be converted to Python scalars

我不想使用循环来查找值。我尝试了很多方法,包括定义原始函数,但它仍然给我同样的错误。我错过了什么?非常感谢!

标签: pythonpython-3.xnumpy

解决方案


的第三个参数np.linspacenum在指定间隔内要生成的样本数。这必须是一个正整数。

因此,请尝试传递一个量值:

In [43]: NTAB=np.array([25,40,60,100,160,250,400,600])

In [44]: x,h=np.linspace(0,3,NTAB[0],retstep=True)

推荐阅读