作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的一个模型,需要读取所有变量的最终值并将它们设置为下一次模拟的初始值。我真正的问题是由于 OMShell 中定义的类型。从the scripting commands可以看出OpenModelica的,有String类型和“VariableName”,“TypeName”类型。详细说明区别:
// The following loads the Standard Modelica Library
>> loadModel(Modelica)
true
// The following throws an error
>> loadModel("Modelica")
原因是 loadModel 函数不需要字符串变量。它需要模型的名称。返回我的问题,我尝试使用如下所示的val函数,以便我可以将值作为下一次模拟的初始值。
>> final_time := 200;
>> myVarValue := val(myVar, final_time);
这可以通过使用 for 循环 为每个变量完成,我认为我有几个变量,此时我意识到了这个问题。
// Get the list of all variables
>> myVarList := readSimulationResultVars(currentSimulationResult);
>> size(myVarList)
{724}
// The problem is that this list contains strings
>> myVarList[1]
"mySubSystem.myComponent.myPin.v"
// Following throws an error as it doesn't expect a string
>> val(myVarList[1], final_time)
如何从 OMShell 返回给我的字符串中删除“”?我需要将 "myVar" 转换为 myVar 以便我可以将其用作 OMShell 函数的输入。
最佳答案
您可以使用 stringVariableName
函数。
>>> vars:=OpenModelica.Scripting.readSimulationResultVars(currentSimulationResult)
{"r","time"}
>>> val(stringVariableName(vars[1]), 0.0)
1.0
关于modelica - OMShell 返回 String 但无法识别它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45756551/
当我使用 OMShell 模拟 OpenModelica 模型时,我得到以下时间作为输出: timeFrontend timeBackend timeSimCode timeTemplates tim
对于我的一个模型,需要读取所有变量的最终值并将它们设置为下一次模拟的初始值。我真正的问题是由于 OMShell 中定义的类型。从the scripting commands可以看出OpenModeli
我是一名优秀的程序员,十分优秀!