首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >灵敏度分析解算器python

灵敏度分析解算器python
EN

Stack Overflow用户
提问于 2013-11-08 07:44:01
回答 1查看 620关注 0票数 1

我正在解决某个时间段的现金流的敏感度,为此,我想用我的代码:

代码语言:javascript
复制
while count < (len(netcf)):
    cpv = float(netcf[count]/((1+MARR)**(time[count])))                  
    sum = round((sum+cpv),2)                
    count=count+1
print "Net Present Value = $", sum

这计算了现金流w/o敏感度分析,为了简单起见,我想要做的是取一定的时间段,比如说时间0,然后乘以值乘以(1+x)并求解"x“的值,这样当您将新的值添加到其他循环值的和中时,而不是以前的值(w/o 1+x),它会使现值尽可能接近于0。

到目前为止,我已经尝试使用"while True“循环来求解x,但是我还没有成功。我也遇到了问题,使循环无法计算值w/o (1+x),并且仅在将值与(1+x)相加时才使用该值。在这一点上的任何建议都将是有帮助的,因为我从来没有解决过python中的未知问题。

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 08:15:11

如果你有一个和,你想知道要把哪个值加到它上才能得到零,那就是-sum。现在,如果您想要(1 + x) == -sumx的值,那么解决方案就是x = -sum - 1

编辑:我感觉这并不是你想要解决的问题……

EDIT2:关于停止循环然后进行第二次计算,只需使用break语句,例如:

代码语言:javascript
复制
stop_at = random.choice(range(len(netcf)))
while count < (len(netcf)):
    cpv = float(netcf[count]/((1+MARR)**(time[count])))                  
    sum = round((sum+cpv),2)                
    if count == stop_at:
        break
    count=count+1

print "Net Present Value = $", sum

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

https://stackoverflow.com/questions/19849007

复制
相关文章

相似问题

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