在Python中返回带有复数的错误值

2024-06-28 11:36:25 发布

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

我在做一个复数的物理问题,我想我把所有的事情都安排好了,但很明显我没有做正确的事情。可能是我没有使用正确的公式,或者我不熟悉Python如何处理数学,我很确定我使用的是正确的东西。我已经用同样的方法解决了一个问题,得到了正确的值,所以替换我的新值应该是正确的

给定f = 1000, SWR = -5.9, L = 0.081,我显然应该得到z = 1.4 - 0.23j。你知道吗

下面是我要做的:

import numpy as np
import cmath

f = 1000     #frequency
SWR = -5.9
L = 0.081

w = 2*f*np.pi     #angular frequency
c = 343     #speed of sound in air
k = w/c     #wavenumber

BA = (SWR-1)/(SWR+1)     #given
theta = 2*k*L-np.pi     #given

z = (1+BA*np.e**(1j*theta))/(1-BA*np.e**(1j*theta))     #given
print(z)

这给了我z = (-4.699946746470462-2.3316919882323677j),显然不是我被告知的正确值。你知道吗

我已经检查了好几次了,没有发现任何错误。我刚刚又一次解决了这个问题,我已经得到了正确的结果,并且做了一些小的替换来适应这些给定的值,我仍然得到了z的返回值。我不想告诉我的教授他的“检查你的代码是否给出了正确的结果”的结果是错误的,但是。。。你知道吗

我错过什么了吗?你知道吗

E:很抱歉,我不能确定我能不能在这里输入乳胶。以下是我的工作内容。此外,最后的图像显示,我基本上正确地处理了相同的问题,我应该能够做一些替换来处理这个问题。还要注意,在我的代码中,z实际上是z除以rhocS的量。我在追求,不需要知道他们的价值观。你知道吗

Equation for z, BA, theta, and the worked similar problem


Tags: 代码import错误nppi物理数学事情