python - 列表上的定点迭代(colebrook)
问题描述
我需要使用 Colebrook-Equation 计算摩擦系数,但与大多数情况不同,它需要超过一个长度,因此雷诺数是一个列表,而不是浮点数。
我基本上使用了这个家伙推荐的东西(定点迭代),特别是因为它将成为一个更大的程序的一部分,当我在 Matlab 中执行它时它不是很快。
对于我对该代码的解释,我将自己定位于 fixed_point 文档的示例,因为在那里它们还将列表形式的参数传递给函数(或实际上是求解器)。v是一个包含 1000 个元素的列表。
k = 0.000045
d = 0.03
reynolds = d/10**(-6)*v
def f(x, Re):
LHS = -2*np.log10((2.51/(Re*np.sqrt(x))) + (k/(3.71*d)))
return 1/LHS**2
x0 = [0.02]*1000
Re = np.array(reynolds)
result = fixed_point(f,x0, args = Re)
print(result)
我确保起始值和雷诺参数具有相同的长度,但我仍然收到错误消息。
File " ... ", line 72, in <module>
result = fixed_point(f,x0, args = Re)
...
TypeError: f() takes 2 positional arguments but 1001 were given
我觉得我在这里基本上错过了一些东西,尽管我坐在上面的时间比这个问题应该给我的时间更长。谢谢你的帮助,
解决方案
推荐阅读
- java - 如何将每个数据库表行传递给Java mysql中的相关jLabels
- python - 如何将输入放入 python df?
- selenium - 我无法将屏幕截图附加到范围报告。解决办法是什么?
- java - 如何在 Android Studio 中从 Firebase 中删除推送密钥数据
- python - 如何阻止 url 扩展在烧瓶中被重写为小写
- html - Mixins 存在检查在动态导入的 scss 中不起作用
- python - 形状与 OrdinalEncoder 中的手动类别不匹配
- freemarker - 在 Freemarker 中对值进行分组时需要帮助
- javascript - 使用类型时不显示Highmaps国家地图:“mappoint”
- javascript - html页面截图到pdf使用html2canvas和jspdf