在模拟用于模拟多回路制冷系统的相当复杂的稳态模型时,我收到Dymola的以下警告信息。
以下变量是初始化问题的迭代变量: initChillerCircuit2.InitCycleArray [20]
但是没有给出任何明确的起始值。零将被使用。
我正在寻找正确语法的帮助来设置此变量的起始值,因为该值从函数(Init_ChillerCircuit)返回到参数数组(InitCycleArray)。
final parameter Real InitCycleArray[:]=Init_ChillerCircuit(
vleInitRecord,
liquidSelector,
specifiedLiquidTIn,
specifiedLiquidTOut,
specifiedLiquidVdot,
liquidTInIsSpecified,
liquidTOutIsSpecified,
liquidVdotIsSpecified,
specifiedGasTIn,
estimatedGasVdot,
liquidHXEffectiveness,
gasHXEffectiveness,
subcoolerEffectiveness,
suctionPressureLoss,
suctionSuperheat,
dischargePressureLoss,
isentropicEfficiency,
specifiedCapacity,
isCooling);
我不清楚如何设置数组中单个元素的起始值,如果可能的话。我希望有类似下面的行,但语法不正确。
final parameter Real InitCycleArray[:](start[20] = 1) = Init_ChillerCircuit(...);
我能想到的最好的方法是为所有输出结果分配起始值,但这在我的场景中是有问题的。
final parameter Real InitCycleArray[:](start = {if i==20 then 1 else 0 for i in 1:33})=Init_ChillerCircuit(...);
上面的语法(分配所有起始值)编译好,但很难为输出数组中的每个元素分配适当的起始值。
任何建议都表示赞赏!
答案 0 :(得分:0)
我要添加带有初始值的新参数
w.iris.df = long.iris.df %>%
spread(key = feature.measure, value = size) %>%
select(-rowid)
head(w.iris.df)
#> Species Petal.Length Petal.Width Sepal.Length Sepal.Width
#> 1 setosa 1.4 0.2 5.1 3.5
#> 2 setosa 1.4 0.2 4.9 3.0
#> 3 setosa 1.3 0.2 4.7 3.2
#> 4 setosa 1.5 0.2 4.6 3.1
#> 5 setosa 1.4 0.2 5.0 3.6
#> 6 setosa 1.7 0.4 5.4 3.9