在评估我的java代码时,我遇到了一个大问题.为了简化问题,我编写了以下代码,这些代码产生了同样的奇怪行为.重要的是方法run()和给定的双倍价值率.对于我的运行时测试(在main方法中),我将速率设置为0.5一次,另一次设置为1.0.使用值1.0时,if语句将在每次循环迭代中执行,并且值为0.5时,if语句将执行一半.出于这个原因,我预计第一种情况下运行时间会更长,但情况相反.谁能解释一下这个现象?
主要结果:
Test mit rate = 0.5
Length: 50000000, IF executions: 25000856
Execution time was 4329 ms.
Length: 50000000, IF executions: 24999141
Execution time was 4307 ms.
Length: 50000000, IF executions: 25001582
Execution time was 4223 ms.
Length: 50000000, IF executions: 25000694
Execution time was 4328 ms.
Length: 50000000, IF executions: 25004766
Execution time was 4346 ms.
=================================
Test mit rate = 1.0
Length: 50000000, IF executions: 50000000
Execution time was 3482 ms.
Length: 50000000, IF executions: 50000000
Execution time …Run Code Online (Sandbox Code Playgroud) 我在计算坐标时遇到一些问题。给出的是两个列表中的翼型轮廓,具有以下示例性坐标:
例子:
x_Coordinates = [1, 0.9, 0.7, 0.5, 0.3, 0.1, 0.0, ...]
y_Coordinates = [0, -0.02, -0.06, -0.08, -0.10, -0.05, 0.0, ...]
Run Code Online (Sandbox Code Playgroud)
图1:

关于该个人资料唯一已知的信息是上面的列表和以下事实:
现在我想确定
到目前为止,我一直使用最小的 x 坐标作为前沿。然而,这在下面的示例性轮廓中不起作用,因为最小的x坐标位于轮廓的上表面上。
图2:

有人知道我如何轻松计算/确定这些数据吗?
编辑
一个完整的样本数组数据
(1.0, 0.95, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.25, 0.2, 0.15, 0.1, 0.075, 0.05, 0.025, 0.0125, 0.005, 0.0, 0.005, 0.0125, 0.025, 0.05, 0.075, 0.1, 0.15, 0.2, 0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1.0)
(0.00095, 0.00605, 0.01086, …Run Code Online (Sandbox Code Playgroud)