gpt4 book ai didi

python - Python 可以执行矢量化操作吗?

转载 作者:行者123 更新时间:2023-11-28 19:44:48 26 4
gpt4 key购买 nike

我想在 Python 中实现以下 Matlab 代码:

x=1:100;
y=20*log10(x);

我尝试使用 Numpy 来执行此操作:

y = numpy.zeros(x.shape)
for i in range(len(x)):
y[i] = 20*math.log10(x[i])

但这使用了一个for循环;有没有像在 Matlab 中那样做矢量化操作?我知道对于一些简单的数学运算,例如除法和乘法,这是可能的。但是这里的对数等其他更复杂的运算呢?

最佳答案

y = numpy.log10(numpy.arange(1, 101)) * 20

In [30]: numpy.arange(1, 10)
Out[30]: array([1, 2, 3, 4, 5, 6, 7, 8, 9])

In [31]: numpy.log10(numpy.arange(1, 10))
Out[31]:
array([ 0. , 0.30103 , 0.47712125, 0.60205999, 0.69897 ,
0.77815125, 0.84509804, 0.90308999, 0.95424251])

In [32]: numpy.log10(numpy.arange(1, 10)) * 20
Out[32]:
array([ 0. , 6.02059991, 9.54242509, 12.04119983,
13.97940009, 15.56302501, 16.9019608 , 18.06179974, 19.08485019])

关于python - Python 可以执行矢量化操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15774705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com