Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python可以';t将序列乘以类型为'的非整数;浮动';_Python_Numpy - Fatal编程技术网

Python可以';t将序列乘以类型为'的非整数;浮动';

Python可以';t将序列乘以类型为'的非整数;浮动';,python,numpy,Python,Numpy,我试图计算一个公式,np是numpy: Ds = pow(10,5) D = np.linspace(0, pow(10,6), 100) alpha=1.44 beta=0.44 A=alpha*(D/Ds) L=1.65 buf2=L/4.343 buf=pow(-(alpha*[D/Ds]),beta) value=exp(buf) 然后我将绘制这些数据,但我得到: buf=pow(-(alpha*[D/Ds]),beta) TypeError: can't multiply seque

我试图计算一个公式,
np
numpy

Ds = pow(10,5)
D = np.linspace(0, pow(10,6), 100)
alpha=1.44
beta=0.44
A=alpha*(D/Ds)
L=1.65
buf2=L/4.343
buf=pow(-(alpha*[D/Ds]),beta)
value=exp(buf)
然后我将绘制这些数据,但我得到:

buf=pow(-(alpha*[D/Ds]),beta)
TypeError: can't multiply sequence by non-int of type 'float'
如何克服这一问题?

改变:

buf=pow(-(alpha*[D/Ds]),beta)
致:

这:

为您提供包含一个元素的列表

但这是:

alpha * (D/Ds)
使用
alpha
计算乘法之前的除法

可以将列表乘以整数:

>>> [1] * 4
[1, 1, 1, 1]
但不是通过浮动:

[1] * 4.0
TypeError: can't multiply sequence by non-int of type 'float'
因为列表中不能有部分元素

括号可用于数学计算中的分组:

>>> (1 + 2) * 4
12

为了明确起见:将
D/Ds
(定义列表)周围的方括号改为括号。谢谢。有趣的是,现在我得到了“南”作为回报。有什么想法吗?@y33t这可能是一个单独的问题。@y33t:假设
alpha
Ds
都是正数,并且所有
D
值都是正数,那么你就把一堆负数提升到了分数次方。答案取决于问题:你是想要复数,还是你的算法错了?@abarnert-yes,我打错了;buf=exp(-(alpha*(D/Ds)),beta)但现在我得到了TypeError:一元数的操作数类型不好-:“tuple”值得注意的是,您已经在上面正确地计算了
A=alpha*(D/Ds)
,所以…为什么不直接使用
buf=pow(-A,beta)
[1] * 4.0
TypeError: can't multiply sequence by non-int of type 'float'
>>> (1 + 2) * 4
12