在Python

时间:2016-12-06 16:00:08

标签: python complex-numbers

我正在处理一个复杂数字的物理问题,并且认为我正确地设置了所有内容,但显然我没有做正确的事情。可能是因为我没有使用正确的方程式,或者我不熟悉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:粗略显示的道歉,但我不确定我可以在这里输入LaTeX。以下是我与之合作的内容。此外,最终的图像显示我正确地完成了相同的问题,并且我应该能够做一些替换来完成这个问题。另请注意,在我的代码中,z实际上是z除以rho c S的数量。在那之后,我不需要知道他们的价值观。

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

0 个答案:

没有答案