模型仿真和分析简介

系统建模功能包含在 Wolfram 语言中,允许对多域的现实现象进行仿真和分析.
完整的 Wolfram SystemModeler 产品还包含用于模型创建、探索、仿真和分析的专用图形用户界面.
本教程介绍了包含在 Wolfram 语言内的功能.
探索范例
SystemModeler 附带多域以及各种复杂性的范例. 所有捆绑的范例均可以用 SystemModelExamples 指令探索和仿真. 运行以下单元创建交互式范例浏览器.
也可以列出所有范例模型.
其他范例资源和模型包括:
模型表示
Wolfram 语言中的系统模型用 SystemModel 表示. 模型可以从上面的 SystemModelExamples 函数获得或通过作为字符串的名称进行引用.
结果对象可被拷贝-复制,作为其他函数的输入和属性的查询.
仿真
SystemModelSimulate 运行一个在模型中心创建的模型仿真并返回一个 SystemModelSimulationData 对象. SystemModelPlot 用于可视化该仿真的结果.
SystemModelSimulate[model]
仿真 model
SystemModelSimulationData[]
包含仿真结果的对象
SystemModelPlot[sd,"MyPlot"]
显示来自于 SystemModelSimulationData sd 的 "MyPlot" 存储的图
SystemModelPlot[sd,{"v1",}]
绘制变量 vi
基本系统模型仿真函数.

基本仿真和绘图

使用模型作为参变量的指令 SystemModelSimulate 仿真一个模型.
SystemModelSimulate 的输出是一个 SystemModelSimulationData 对象. SystemModelPlot 中使用的对象可以绘制仿真的变量. 对于许多范例模型,有模型创建器定义的存储图. 可以使用仿真结果的 "PlotNames" 属性列出.
这些图很容易用 SystemModelPlot 显示.

仿真数据

仿真结果对象也有多个属性.
浏览仿真中的变量名称.
使用 SystemModelPlot 绘制两个变量.
获取在时间 2 的变量 "syse.sys.resistor.i""syse.sys.resistor.v" 的值.

参数变化

使用 "ParameterValues" 改变两个参数再次仿真,比较仿真的结果变化.

Parameter Sweeps

一个参数的多个值的多个仿真将自动并行完成. 用不同弹跳 "e" 的数量仿真弹跳球.
随着时间的推移绘制球的高度.

自定义图

通过作为数据提取仿真结果,可以有很多方法可视化和分析结果例如,用 ParametricPlot 绘制 Chua 电路的结果.
提出变量 "C1.v""C2.v".
洛伦兹引子用 ParametricPlot3D 制作美丽的仿真结果.
模型数据
除了用 Wolfram 语言驱动模型仿真,也可以更直接地使用模型. SystemModel 用于提取关于模型的信息,并使用 FindSystemModelEquilibriumSystemModelLinearize 获取平衡点和线性状态空间表示.
SystemModel[model,]
提取关于 model 的信息
FindSystemModelEquilibrium[model]
model 的平衡点
SystemModelLinearize[model]
获取 model 的线性状态空间表示
系统建模函数.

模型中的方程

SystemModel 获取模型的信息. 首先,获取模型信息的综述.
获取依赖于时间变量 t 的系统方程.
求所有导数为 0 的点,也称之为平衡点.
SystemModel 的大量属性可用于获得模型的信息.

平衡点和线性表示

使用 FindSystemModelEquilibrium 查找搅拌罐模型的平衡点.
函数 SystemModelLinearize 给出在平衡点的模型的线性状态空间表示. 其结果是 Wolfram 语言的StateSpaceModel.
Wolfram 语言的控制功能可用于进一步处理这个表示. 使用极点位置设计控制器并显示单位阶跃的输出响应.