gpt4 book ai didi

Python 3 - 电子分析脚本

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:13 25 4
gpt4 key购买 nike

我希望有人能为我指明我想要改进的脚本的正确方向。我正在研究电子学,并编写了一些 Python 脚本来帮助计算。我编写了一个小的基本脚本,可以帮助我计算晶体管放大器的正确电阻值。

我遇到的问题是,当计算所需的电阻时,我得到的值与标准电阻值不匹配。

例如:

标准电阻值:100、150、275、340、420、550

脚本中的计算结果给出的电阻值为 176。

我如何使用Python来选择最接近的标准值。

如果计算结果为 176,则另一行文本会显示“为电路选择 150Ω 电阻”

我知道我可以使用列表,这样我就可以引用这些值,但我只需要一个小示例,说明如何将脚本组合在一起以显示实际值,然后引用列表中的标准值。

希望这是有道理的。非常感谢任何帮助。

我的脚本非常基本,但它可以完成工作。稍后会进行改进。

Av = 15
Rc = 3300
Vs = 10
Vc = 6
beta = 100

Re = Rc / Av
Ic = (Vs - Vc) / Rc
Ve = Re * Ic
Vb = Ve + 0.7
Ib = Ic / beta
I2 = 10 * Ib
R2 = Vb / I2
R1 = (Vs - Vb) / (I2 + Ib)

print ('Re =',Re)
print ('Ve =',Ve)
print ('Vb =',Vb)
print ('Ic =',Ic)
print ('Ib =',Ib)
print ('I2 =',I2)
print ('R2 =',R2)
print ('R1 =',R1)

它计算晶体管上每个部分的电压和电流,并根据增益和提供的电压等显示R2和R1所需的值。

最佳答案

使用bisect模块找到插入点,然后考虑比插入点少1..

from bisect import bisect

def find_closest(v, options):
i = bisect(options, v)
if i == len(options):
return options[-1]
elif i == 0:
return options[0]
else:
low, high = options[i-1:i+1]
return low if (high-v) > (v-low) else high

standard_values = [100, 150, 275, 340, 420, 550]
answer = 176
print(find_closest(answer, standard_values))

关于Python 3 - 电子分析脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32661166/

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