python - for 和 while 循环中的计算产生相同数字的列表
问题描述
我正在通过在 ODE 上执行 Runge Kutta 来计算黑洞附近粒子的路径(不需要详细信息,证明可以正常工作)。该函数具有h
我作为 和 的函数输入的b
参数v
。我遍历所有路径,v = np.arange(0.001,1,0.01)
并且为每个 vi 变化b
。我想确定b
每个 v 处的粒子没有被捕获的最小值,即半径首先没有达到 r = 1,所以我使用循环以小增量增加它。
我的代码中的问题即使我h
在每种情况下都有不同的结果v
,但我需要的最小值b
计算为对所有情况都相同v
。你看到这个问题出现在哪里了吗?
四阶龙格库塔求解二阶导数
#vary v from 0 to 1
def obtainBCRIT():
vel = np.arange(0.001, 1, 0.01)
b = 0.01
bvalues = []
for i in vel:
radii = remove_negatives(calcCoords(1, b, i)[1])
while len([*filter(lambda x: x < 1, remove_negatives(radii))]) > 0:
b += 0.01
radii= remove_negatives(calcCoords(1, b, i)[1])
bvalues.append(b)
print("for velocity = " +str(i) + " final b = " + str(b) )
print(" radii = " + str(radii))
print(" b values = " +str(bvalues))
return(bvalues, vel)
解决方案
推荐阅读
- php - 自迁移到 Symfony 3 以来,foreach on null 会引发错误
- python - Python:“NoneType”类型的对象没有 len()
- javafx - 将 JavaFx 标签绑定到根据三个节点属性更改的函数输出
- python - 在机器学习中的不平衡数据集的情况下,AUC 是比准确性更好的指标吗?如果不是,那么哪个是最佳指标?
- virtualbox - 虚拟机上的字形渲染支持
- javascript - 文件被调用而不引用它们
- java - 升级到 Vaadin Grid Pro 后出现脚本错误
- scala - 如何在Scala中编写具有依赖类型的方法
- html - 如何在子按钮中调用父函数
- angular - 使用 HttpClient 向本地 json 文件发送 POST 请求