SystemModel
模型组件列表 »SystemModel["model"]
给出模型 "model" 的表示,可用来作为其他函数的输入.
SystemModel["model"]["property"]
给出模型 "model" 的指定 "property".
更多信息和选项
- SystemModel[…]["property"] 等价于 SystemModel[…, "property"].
- SystemModel["model"]["Properties"] 给出可能的属性列表.
- 如果 SystemModels["*.model"] 给出唯一的模型,则可以使用 "model" 的简化名称.
- Import["file.mo","MO"] 导入指定模型,并使其可被用作 SystemModel.
- 用 Export 将 SystemModel 保存到磁盘上.
- 通过修改 model 的 property,SystemModel[model,<"property"->… >] 创建新的 SystemModel.
- 与整个模型相关的属性:
-
"Description" 模型的顶层说明 "Summary" 模型汇总数据 "ModelName" 完全限定的模型路径 "Diagram" 模型的示意图 "ModelicaIcon" 模型的图标 "ModelicaDisplay" 显示 Modelica 模型代码 "ModelicaString" 以字符串形式给出的 Modelica 模型代码 "SourceFile" 保存模型的文件 "Documentation" 打开模型文档 "DocumentationURL" 到模型文档的链接 "Domain" 描述建模域 (modeling domain) 的关联 "DomainChart" 描述建模域 (modeling domain) 的图表 "Balanced" 模型的方程和变量是否平衡 "SimulationModel" 模型是否为仿真模型 "Specialization" 规范指定 "model"、"package"、"function"、… "Version" 模型的版本信息 "SimulationSettings" 模型的仿真选项 - "ModelicaDisplay" 创建一个样式为 "Program" 的单元,其中包含 "model" 的文本格式.
- "ModelicaString" 以字符串形式返回 "model" 的文本格式.
- SystemModel["model"]["Diagram","c1","c2",…] 显示 "model" 中组件 "c1.c2...ci" 的示意图.
- SystemModel["model",{property,options}] 接受 property "Diagram" 和 "ModelicaIcon" 的下列 options:
-
Frame True 显示边框 FrameTicks False 显示边框刻度 GridLines None 显示什么样的网格线 PlotRange Automatic 绘图范围,单位为 mm PlotRangePadding Automatic 绘图范围填充,单位为 mm - GridLines->Inherited 承继模型示意图中定义的网格. »
- PlotRange->Automatic 指定包含图中绘制的图元的绘图范围.
- PlotRange->Inherited 承继模型示意图中指定的页面大小.
- 与模型的绘图相关的属性:
-
"PlotNames" 模型中绘图的名称 "LocalPlotNames" 模型中定义在本地的绘图的名称 "InheritedPlotNames" 从 "ExtendsModels" 承继的绘图的名称 "Plots" 模型的绘图规范 "LocalPlots" 模型中定义在本地的绘图规范 "InheritedPlots" 定义在 "ExtendsModels" 中的绘图规范 - 在 "Plots" 和 "LocalPlots" 中模型的绘图是 plotspec 列表.
- 每个 plotspec 是一个包括以下键的 Association:
-
"Subplots" {sp1,sp2,…} 子图规格列表(必填) "Identifier" Automatic 图形标识符 "Name" Automatic 绘图的名称 "Group" None 群的名称 "Default" False 该绘图是否为默认规范 "Caption" None 图形标题 - 每个子图规范 spi 是一个包括以下键的 Association:
-
"Variables" {v1,v2,…} 变量列表(必填) "Identifier" None 子图标识符 "Title" Automatic 子图标题 "Interval" Automatic 时间间隔 "AxesLabel" Automatic 坐标轴标签 "PlotLegends" Automatic 曲线的图例 "PlotRange" Automatic 要包含的值的范围 - 模型的绘图 "Variables" 可接受以下形式:
-
{"v1","v2",…} 变量 vi {{"v1,x","v1,y"},…} 参数化绘图 vi,x vs vi,y {{"v1","p1",d1},…} pi 改变 100 di% 时 vi 附近的灵敏度界限 - 可以用 {tmin,tmax} 或 tmax 给出模型的绘图 "Interval".
- 模型的绘图 "AxesLabel" 可以为 Automatic、None、y 轴的字符串标签或 {"xlabel","ylabel"}.
- 可能的 "PlotLegends" 为 Automatic、None 或图中每个变量的由一个字符串组成的列表.
- "PlotRange" 为 Automatic、{ymin,ymax} 或 y,解释为 {-y,y}.
- 如果 "Default" 为 True,该绘图将会被包含在 SystemModelPlot[model] 中.
- 与方程和变量相关的属性:
-
"SystemEquations" 微分和代数方程 "InitialEquations" 初值方程 "InitialSeedings" 初始化时使用的猜测值 "StateVariables" 微分变量 "AlgebraicVariables" 非微分变量 "SystemVariables" 状态和代数变量 "TopSystemVariables" 系统变量(不包括组件变量) "InputVariables" 指定为输入的变量 "OutputVariables" 指定为输出的变量 "ParameterNames" 参数 "TopParameterNames" 参数,不包括组件参数 "DiscreteVariables" 只在事件中变化的变量 - "SystemEquations" 给出依赖于 t 的方程.
- SystemModel["model"]["SystemEquations",t] 给出依赖于 t 的方程.
- 对于无法表示的方程的任何部分,SystemModel[…] 将给出 Missing[type,content].
- "InputVariables" 与 "SystemVariables" 不同,"OutputVariables" 是 "SystemVariables" 的一个子集.
- "DiscreteVariables" 是 "SystemVariables" 的一个子集,并以适合作为 NDSolve 的选项 DiscreteVariables 的设置的形式给出.
- 与值相关的属性:
-
"ParameterValues" 参数规则 {p1->val1,…} "InitialValues" 初值规则 {v1->val1,…} "GroupedInitialValues" 按状态、输入和输出分组的初值 - 对于变量和参数列表,SystemModel["model"][{prop,patt}] 返回其 Modelica 形式与字符串模式 patt 匹配的 prop 的元素.
- 与模型结构相关的属性:
-
"ExtendsModels" 扩展出该模型的模型 "Components" 模型组件 "Connections" 模型连接 "Connectors" 模型接口组件 "LocalComponents" 模型中在本地定义的组件 "LocalConnections" 模型中在本地定义的连接 "LocalConnectors" 模型中在本地定义的接口 "InheritedComponents" "ExtendsModels" 中定义的组件 "InheritedConnections" "ExtendsModels" 中定义的连接 "InheritedConnectors" "ExtendsModels" 中定义的接口 - 有关与其他模型的关系的属性:
-
"ModelsExtending" 该模型扩展出的模型 "ModelsContaining" 使用该模型作为组件的模型 "Parent" 包结构中的父模型 "Children" 包结构中的子模型 "Siblings" 包结构中的同胞模型 - 可以给出下列选项:
-
Method Automatic 用于处理方程的方法 ProgressReporting $ProgressReporting 控制进度显示 - 在 Method->{"opt1"->val1} 中,"opti" 的可能设置包括:
-
"Elimination" None 消掉简单的方程 "ReduceIndex" Automatic 约简平衡模型中 DAE 的指标 "StartTime" 0 仿真开始时间 - 属性 "PropertyAssociation" 和 "PropertyDataset" 返回所有属性的可计算形式.
范例
打开所有单元关闭所有单元基本范例 (5)
用 SystemModelExamples 选取一个随机模型实例:
范围 (59)
基本用法 (5)
模型表示 (7)
模型信息 (5)
获取 SystemModel 的模型名称:
变量和方程 (9)
改变初值和参数值 (5)
结构属性 (5)
获取模型的绘图 (3)
修改模型的绘图 (12)
将 "integrator1.y" 的灵敏度定义到参数 "sine.freqHz",改变幅度为 10%:
如果不给出绘图名称或变量,在 SystemModelPlot 中使用首选绘图:
选项 (4)
Method (3)
可通过 Method 的选项 "Elimination" 消除冗余方程:
ProgressReporting (1)
用 ProgressReporting 控制进度汇报:
应用 (6)
用 NDSolve 求解方程:
用 DSolve 求解方程:
FindSystemModelEquilibrium 给出同样的结果:
将质量-弹簧-阻尼器系统的 StateSpaceModel 转换为 SystemModeler 模型:
将质量-弹簧-阻尼器 TransferFunctionModel 转换为模型:
属性和关系 (9)
模型名称字符串可用来代替完整的 SystemModel 表达式:
SystemModel 生成修改后的新模型:
SetSystemModel 在原地对所给对象进行修改:
导入后,使用 SystemModel 访问模型:
用 DeleteObject 删除模型:
Export 将模型保存到磁盘上:
比较 SystemModelSimulate 和 NDSolve 的解:
用 NDSolve 来求解:
用 SystemModelSimulate 来求解:
文本
Wolfram Research (2018),SystemModel,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SystemModel.html (更新于 2020 年).
CMS
Wolfram 语言. 2018. "SystemModel." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/SystemModel.html.
APA
Wolfram 语言. (2018). SystemModel. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SystemModel.html 年