SystemModel

模型组件列表 »

SystemModel["model"]

给出模型 "model" 的表示,可用来作为其他函数的输入.

SystemModel["model"]["property"]

给出模型 "model" 的指定 "property".

更多信息和选项

  • SystemModel[]["property"] 等价于 SystemModel[, "property"].
  • SystemModel["model"]["Properties"] 给出可能的属性列表.
  • 如果 SystemModels["*.model"] 给出唯一的模型,则可以使用 "model" 的简化名称.
  • Import["file.mo","MO"] 导入指定模型,并使其可被用作 SystemModel.
  • ExportSystemModel 保存到磁盘上.
  • 通过修改 modelpropertySystemModel[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
  • FrameTrue显示边框
    FrameTicksFalse显示边框刻度
    GridLinesNone显示什么样的网格线
    PlotRangeAutomatic绘图范围,单位为 mm
    PlotRangePaddingAutomatic绘图范围填充,单位为 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" 可以为 AutomaticNoney 轴的字符串标签或 {"xlabel","ylabel"}.
  • 可能的 "PlotLegends"AutomaticNone 或图中每个变量的由一个字符串组成的列表.
  • "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"包结构中的同胞模型
  • 可以给出下列选项:
  • MethodAutomatic用于处理方程的方法
    ProgressReporting$ProgressReporting控制进度显示
  • Method->{"opt1"->val1} 中,"opti" 的可能设置包括:
  • "Elimination"None消掉简单的方程
    "ReduceIndex"Automatic约简平衡模型中 DAE 的指标
    "StartTime"0仿真开始时间
  • 属性 "PropertyAssociation""PropertyDataset" 返回所有属性的可计算形式.

范例

打开所有单元关闭所有单元

基本范例  (5)

获取模型的表示:

用模型表示获取属性:

显示模型汇总:

Import"MO" 格式从磁盘加载模型:

获取模型的微分方程:

获取模型的微分方程:

SystemModelExamples 选取一个随机模型实例:

显示模型全称及说明:

范围  (59)

基本用法  (5)

显示可能的属性列表:

获取模型的说明:

修改模型的说明:

获取 Graphics 形式的模型示意图:

获取模型的系统方程:

获取直流电机模型的组件和连接:

模型表示  (7)

获取 Graphics 形式的模型示意图:

显示网格线:

显示边框刻度:

获取模型中一个组件的示意图:

增加示意图的 PlotRangePadding

使用模型中的页面大小显示不带边框的模型示意图:

显示模型的图标:

显示文本形式的模型:

获取模型的 String 形式的 Modelica 代码:

模型信息  (5)

获取含有模型的文件的路径:

获取 SystemModel 的模型名称:

复制一份,起一个新的名称:

获取到模型文档的链接:

打开模型文档:

获取模型的仿真设置:

根据该模型创建新的模型,并重新设定仿真设置:

获取新模型的仿真设置:

获取模型中各领域内容的使用情况:

获取模型中各领域内容使用情况图表:

变量和方程  (9)

获取模型的系统方程:

获取模型的初始方程:

获取模型的所有状态变量:

获取模型中所有代数变量的列表:

获取模型中所有系统变量的列表:

获取模型中所有输入变量的列表:

获取模型中所有输出变量的列表:

获取模型的离散变量:

获取模型所有参数的名称:

获取初值和参数值  (3)

获取模型所有的参数值:

获取模型所有的初值:

获取按状态、输入和输出分组的初值:

改变初值和参数值  (5)

把参数 a 的值从 3 变成 10

把变量 x 的起始值设为 3

使用具有多维变量的模型:

设置变量的初值:

变量 xstart 值被更新:

设置模型中的字符串值:

赋给字符串参数一个新的值:

x 的值被更新:

在许多情况下,不需要明确指定也可设置参数值和初始值:

设置参数 a 和变量 y 的初值,无需指定那一个是参数:

变量 y 的起始值被改变:

参数 a 的值被改变:

时间变量和滤波  (2)

默认情况下,方程用 t 作为世界变量:

获取依赖于所选变量的微分方程:

获取与模式相匹配的参数值:

结构属性  (5)

获取模型构建于其上的基础模型:

显示模型名称:

以一个模型为基础创建新的模型,并将其扩展成其他类型:

确认扩展模型的列表:

获取直流电机模型的组件和连接:

获取模型中在本地定义的组件:

获取承继自 "ExtendsModels" 的组件:

"Components" 包含本地和承继来的组件:

获取模型的接口:

模型关系  (3)

显示模型的层级关系:

显示父模型:

显示子模型:

显示子模型的名称:

显示同胞模型:

显示同胞模型的名称:

找出所有用电阻作为组件的模型:

找出所有基于电子单端口模型的模型:

获取模型的绘图  (3)

获取模型中绘图的名称:

仿真并显示模型绘图:

获取模型中的图的完整规范:

可以使用相同的格式来设置模型中的图. 复制没有图的模型:

将图添加到新模型:

仿真并显示绘图:

绘图是承继而来的:

模型中没有保存在本地的绘图:

绘图来自该模型的基础模型:

修改模型的绘图  (12)

在模型中定义一个参数化绘图:

仿真并显示新定义的绘图:

"integrator1.y" 的灵敏度定义到参数 "sine.freqHz",改变幅度为 10%

针对频率参数进行灵敏度分析仿真:

显示模型的绘图:

定义一个组里的两个图:

仿真并显示一个组里的所有图:

定义一张图,自定义其图例:

仿真并显示绘图:

定义一张图,自定义其坐标轴标签:

仿真并显示绘图:

定义一张图,对绘图范围进行限制:

仿真并显示绘图:

定义一张图,对时间范围进行限制:

仿真并显示绘图:

定义一张图,不包含坐标轴标签:

仿真并显示绘图:

定义一张图,只包含一个坐标轴的标签:

仿真并显示绘图:

定义首选绘图:

如果不给出绘图名称或变量,在 SystemModelPlot 中使用首选绘图:

给出与现有绘图相同的名称将覆盖该图:

使用最后定义的图:

从模型中删除绘图:

通过提供空的子图列表,从模型中删除其中一个图:

选项  (4)

Method  (3)

在初始方程中使用自定义开始时间:

在初始种子中使用自定义的初始时间:

可通过 Method 的选项 "Elimination" 消除冗余方程:

该选项可以大大减少方程的数量:

用方法选项 "ReduceIndex" 禁用指标约简:

ProgressReporting  (1)

ProgressReporting 控制进度汇报:

应用  (6)

NDSolve 求解方程:

根据初值列表构建初始方程:

对系统进行求解:

绘制找到的解:

DSolve 求解方程:

获取方程和系统变量:

获取初值:

组合方程并用默认值替换所有参数:

求解系统并绘制结果:

找到模型的平衡点:

获取方程:

将导数设为零,并求解方程:

FindSystemModelEquilibrium 给出同样的结果:

用微分方程来研究阻尼摆的行为:

将质量-弹簧-阻尼器系统的 StateSpaceModel 转换为 SystemModeler 模型:

仿真改变后的模型:

将质量-弹簧-阻尼器 TransferFunctionModel 转换为模型:

获取分母和分子的系数:

设置模型中的系数:

仿真改变后的模型:

属性和关系  (9)

模型由图形表示来表示:

该表示可以用作其他模型的输入:

可以通过属性获取作为字符串的模型的全名:

模型名称字符串可用来代替完整的 SystemModel 表达式:

如果名称是唯一的,则可以使用该名称的简写版本来指代该模型:

可用所得对象指代完全限定的模型名称:

非唯一简写名称将给出一条消息,不会给出排版式对象:

组件的示意图可能与组件模型的示意图不同:

电机模型自身没有参数:

SystemModel 生成修改后的新模型:

新模型和旧模型是两个不同的对象:

SetSystemModel 在原地对所给对象进行修改:

Import 使用 "MO" 格式从磁盘加载模型:

导入后,使用 SystemModel 访问模型:

DeleteObject 删除模型:

使用已被删除的模型将会导致错误:

Export 将模型保存到磁盘上:

将新模型保存为 "DiffEq"

显示保存的文件:

删除新文件和模型,进行清理:

可通过实体来给出系统模型:

列出可用属性:

列出系统模型的子模型:

获取模型的系统方程:

比较 SystemModelSimulateNDSolve 的解:

NDSolve 来求解:

SystemModelSimulate 来求解:

Wolfram Research (2018),SystemModel,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SystemModel.html (更新于 2020 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2022_systemmodel, author="Wolfram Research", title="{SystemModel}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/SystemModel.html}", note=[Accessed: 03-December-2024 ]}

BibLaTeX

@online{reference.wolfram_2022_systemmodel, organization={Wolfram Research}, title={SystemModel}, year={2020}, url={https://reference.wolfram.com/language/ref/SystemModel.html}, note=[Accessed: 03-December-2024 ]}