在Python 2.7中,将整数提升为负整数幂

2024-06-16 09:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难将这个Matlab代码翻译成Python

我将向你展示我迄今为止的努力

这是matlab代码

Sigma=BW1/(2*(2*(-log(10^(att_bw/10)))^(1/Order))^(1/2))

现在我尝试使用Python power操作符,正如我今天早上早些时候学习的那样**

我的代码是

BW1 = np.array([100])
att_bw = np.array([-3])
Order = np.array([1])
Sigma = BW1/(2*(2*(-np.log(10**(att_bw[0]/10)))**(1/Order))**(1/2))

但不幸的是,它说它不能处理消极力量

西格玛的结果应该是42.539

编辑:看来我的代码在Python3中运行得非常好。然而,我仍然坚持使用Python 2.7。有什么简单的方法可以移植它吗


Tags: 代码log编辑nporderarraysigmaatt
1条回答
网友
1楼 · 发布于 2024-06-16 09:25:26

在python2中,您需要确保使用浮点数。要使它们成为这样,请在公式中现有的每个整数后面添加.

像这样:

import numpy as np

BW1 = np.array([100])
att_bw = np.array([-3])
Order = np.array([1])
Sigma = BW1/(2.*(2.*(-np.log(10.**(att_bw[0]/10.)))**(1./Order))**(1./2.))
print Sigma

输出

[42.53892736]

相关问题 更多 >