首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python3-电子分析脚本

Python3-电子分析脚本
EN

Stack Overflow用户
提问于 2015-09-18 21:17:55
回答 3查看 164关注 0票数 1

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

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

例如:

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

脚本中的计算结果给了我176的电阻值。

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

如果计算结果是176,那么另一行文字会说:“为电路选择一个150电阻”。

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

希望这是有意义的。任何帮助都很感激。

我的剧本是很基本的,但它做的工作。以后会有改进的。

代码语言:javascript
复制
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所需的值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-18 21:39:30

使用等分模块找出插入点,然后考虑比插入点少1。

代码语言:javascript
复制
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))
票数 1
EN

Stack Overflow用户

发布于 2015-09-18 21:33:15

代码语言:javascript
复制
3>> import bisect
3>> e12brown = [100, 120, 150, 180, 220, 270, 330, 390, 470, 560, 680, 820]
3>> e12brown[bisect.bisect(e12brown, 170) - 1]
150
3>> e12brown[bisect.bisect(e12brown, 170)]
180
票数 0
EN

Stack Overflow用户

发布于 2015-09-18 21:44:44

代码语言:javascript
复制
def closestToR(l, R):

    from operator import itemgetter     

    tupleList = zip(l,  [ abs(x - R) for x in l ])

    closeToR, delta  = sorted(tupleList, key=itemgetter(1)).pop(0)

    print("R = {}     delta = {}".format(closeToR, delta))     

L= 100,150,275,340,420,550

R= 179

R= 150 delta = 29

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32661166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档