我正在编程4参数RAINFLOW方法。因此,我们的想法是在负载历史中获得标准加载周期,这些加载周期由4个需求定义,负载历史通常由几个1000,10000甚至更多点(强制时间)组成。您需要在此加载历史记录中查找2个标准循环,即上升和下降。两者都显示在图片中。你总是从头开始并尝试找到其中一个周期,如果你没有从第一个点成功,你向上移动一个点(j = j + 1)并重新开始。找到一个循环后,删除第二个和第三个点(y1和y2)并从头开始。
我以这样的方式做了alghoritm,它首先确定加载历史的第二个点是否高于第一个或更低,以便它知道首先查看哪个周期(从哪里开始)。从那里开始,它只是搜索需求,也列在图片中。
我的问题: 我想以这样的方式编程:如果找到2个循环中的非循环,程序将向j添加+1并再次从顶部开始并且将这样做直到找到循环。我确实使用了while循环并尝试使用true / false,但它确实有效。什么都没发生......如果某人有想法的话。
y只是随机点向量的一个简短例子。
y = [0.00, 2.00, 4.00, 5.00, 5.50, 6.00, 5.00, 4.00, 3.20, 3.50, 4.00, 4.50, 4.70, 4.80, 5.00, 4.50, 4.30, 4.00, 3.00, 2.00, 1.00,
1.50, 2.50, 4.00, 4.50, 2.50, 1.50, 0.50, 0.30, 2.50, 3.00, 1.50, 2.00, 2.50, 5.00, 5.50, 6.00, 6.20, 5.50, 3.00]
a = []
for j in range(len(y)):
while j<(len(y)-4):
if y[j+1] > y[j]:
while False:
if y[j+2] >= y[j] and y[j+3] >= y[j+1]:
True
a.append(y[j+1])
del y[j+1]
a.append(y[j+1])
del y[j+1]
else:
j = j+1
if y[j] >= y[j+2] and y[j+1]>= y[j+3]:
stavek = True
a.append(y[j+1])
del y[j+1]
a.append(y[j+1])
del y[j+1]
else:
j=j+1
False
elif y[j+1] < y[j]:
while False:
if y[j+2] <= y[j] and y[j+3] <= y[j+1]:
a.append(y[j+1])
del y[j+1]
a.append(y[j+1])
del y[j+1]
else:
j = j+1
if y[j] <= y[j+2] and y[j+1]<= y[j+3]:
stavek = True
a.append(y[j+1])
del y[j+1]
a.append(y[j+1])
del y[j+1]
else:
j=j+1
False
答案 0 :(得分:0)
var className = oModelConf[sModelName].type || "sap.ui.model.odata.ODataModel";
var urn = className.replace(".", "/"); //Convert to unified resource name
sap.ui.require([urn],function(ModelClass){
//This function is called when the module is available
var model = new ModelClass();
...
});
将永远不会执行,因为不符合条件。也许你应该研究while False
- &gt; do
因此它至少运行一次,并引入一个新变量,您将其设置为true或false以继续循环。