SystemModelSimulate

SystemModelSimulate[model]

根据实验设置仿真 model.

SystemModelSimulate[model,tmax]

0tmax 进行仿真.

SystemModelSimulate[model,{tmin,tmax}]

tmintmax 进行仿真.

SystemModelSimulate[model,vars,{tmin,tmax}]

只保存变量 vars 的仿真数据.

更多信息和选项

  • model 可采用以下形式:
  • SystemModel[]一般系统模型
    StateSpaceModel[]状态-空间模型
    TransferFunctionModel[]传递函数模型
    AffineStateSpaceModel[]仿射状态-空间模型
    NonlinearStateSpaceModel[]非线性状态-空间模型
    DiscreteInputOutputModel[]离散输入-输出模型
  • SystemModelSimulate 返回一个 SystemModelSimulationData 对象.
  • 保存的仿真变量 vars 可以取下列值:
  • Automatic自动选择要保存的变量
    {v1,v2,}只保存变量 vi
    All保存所有变量
  • SystemModelSimulate[,spec]Association spec 来指定初值、参数和输入:
  • "ParameterValues"{p1val1,}参数 pi 取值 vali
    "InitialValues"{v1val1,}变量 vi 取初值 vali
    "Inputs"{in1fun1,}输入 ini 在时间点 t 取值 funi[t]
  • "ParameterValues""InitialValues" 设为 {pi->{c1,c2,},} 以并行方式运行仿真,pi 取值 cj.
  • "InitialValues" 对应于 Modelica 模型中的 start 属性.
  • 可以给出以下选项:
  • InterpolationOrder Automatic事件之间的输出的连续性程度
    Method Automatic使用何种仿真方法
    ProgressReporting $ProgressReporting控制进度显示
  • modelSystemModel 时,支持选项 Method.
  • Method 设置可采用 Method->"method"Method{"method","sub1"->val1,} 这样的形式.
  • 可以使用以下自适应步长方法:
  • "DASSL"DASSL DAE 求解器
    "CVODES"CVODES ODE 求解器
  • 自适应步长方法的子选项包括:
  • "InterpolationPoints"Automatic插值点的数目
    "Tolerance"10-6自适应步长的容差
  • 可以使用以下固定步长方法:
  • "Euler"明确的 1 阶欧拉方法
    "Heun"2 阶 Heun 方法
    "RungeKutta"明确的 1 阶 RungeKutta 方法
  • 固定步长方法的子选项包括:
  • "StepSize"10-3固定步长大小
  • 当设置为 Method->{"NDSolve",sub1->val1,} 时,用 NDSolve 作为求解器. 方法选项 subi 被传递给 NDSolve.

范例

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

基本范例  (3)

使用来自模型的仿真设置的时间间隔来对模型进行仿真:

在电压偏移量上做一个参数扫描:

绘制所有仿真的电压:

用模型的框图表示作为输入:

复制并粘贴上述输出:

或使用名称字符串:

范围  (22)

模型  (5)

仿真系统包含的一个热域示例模型:

仿真 NonlinearStateSpaceModel 并绘制仿真结果:

UnitStep 作为输入,仿真 TransferFunctionModel

AffineStateSpaceModel 进行参数扫描:

仿真 DiscreteInputOutputModel

绘制所有仿真结果:

仿真时间  (4)

用模型的设置进行仿真:

从时间点 05 进行仿真:

设置明确的时间间隔,进行仿真:

Quantity 指定时间间隔:

变量、参数和输入  (8)

可用 "InitialValues" 来设置变量的初值:

可用 "ParameterValues" 设置参数的值:

对把两个输入加在一起的模型进行仿真:

绘制输入和输出:

仿真变量 x 取不同初值的情况:

绘制所有仿真中的变量 x

用默认参数仿真模型:

设置仿真的参数:

比较不同仿真中的变量 capacitor1.v^(')

在电压偏移量上做一个参数扫描:

绘制所有仿真的电压:

设置两个参数的范围,对范围中的每个点进行一次仿真:

TimeSeries 作为输入,对模型进行仿真:

定义时间序列对象:

对模型进行仿真:

绘制输入和输出:

仿真结果  (5)

仿真模型并绘制变量 x1x2

对模型进行仿真:

获取变量 xx' 的仿真结果:

Plot 函数绘制变量:

对模型进行仿真并找到变量的最大值:

获取变量 angle1v 的值:

找到角度的最大值:

运行仿真并绘制结果,一次完成:

指定 SystemModelSimulate 的参数:

只保存选择的变量:

只有给定的变量被保存起来:

推广和延伸  (1)

调试消息被收集在消息组 "WSMDebug" 中:

开始发送初始化调试消息:

关闭 "WSMDebug" 调试消息:

选项  (10)

InterpolationOrder  (1)

对插值阶数为 1 和 3、有 3 个插值点的情况进行仿真:

显示 x 变量:

Method  (8)

使用固定步长求解器:

绘制结果:

使用自适应步长求解器:

ParametricPlot 图中显示结果:

对于刚性问题,使用自适应步长求解器:

用太少的插值点进行仿真会给出不精确的曲线:

增加点数给出更好的结果:

固定求解器的缺省步长可能比需要的小:

使用较大的步长以加快计算速度:

结果没有很大差别:

让自适应求解器选择步骤:

NDSolve 仿真模型:

结果为含有仿真结果的 SystemModelSimulationData 对象:

将选项传递给 NDSolve

由于选项的原因精确度降低:

ProgressReporting  (1)

ProgressReporting 控制进度报告:

应用  (11)

计算水池系统中的高度过冲:

找出最大峰值:

获取每步输送到水池的量:

计算过冲:

显示过冲:

计算水池系统中液面上升的时间:

通过查看高度的稳态值获取上升到 10% 和 90% 时的值:

计算信号到达这些值的时间:

计算上升时间:

绘制终值曲线,并标出信号达到终值的 10% 和 90% 的时间:

计算水池系统高度的稳定下来的时间:

计算终值的 5% 界限值:

计算信号位于这些值之间的时间:

绘制界限和稳定下来的时间:

交互式改变参数值:

对沿轮轴有不同启动惯量的滚动的轮子进行仿真:

获取车轮的轨迹:

绘制轨迹:

分析改变弹簧常数时的共振峰值:

根据 计算 TemplateBox[{{H, (, {ⅈ,  , omega}, )}}, Abs]

显示共振峰值:

通过与测量数据进行比较来校准模型中的参数:

建立模型拟合的标准函数:

用测试数据进行参数拟合:

用拟合参数进行仿真:

同时显示测试数据和校准过的模型:

筛选 Tinker Forge Weather Station 的采样数据:

对数据进行时间移位并获取数据的幅值:

用低通滤波器运行时间序列:

用声音作为输入对低通滤波器进行仿真:

用给定声音进行仿真:

检索输入和输出的音频:

仿真牛顿摇篮:

从结果中获取轨迹:

可视化摇篮:

WaveletScalogram 可视化仿真数据:

选取你感兴趣的数据:

计算小波转换:

绘制小波矢量系数:

属性和关系  (3)

SystemModelSimulate 的输出是一个 SystemModelSimulationData 对象:

用属性获取变量轨迹:

SystemModelSimulateSensitivity 获取对参数的敏感度:

绘制电容上的电压对 "sineVoltage1" 的频率的敏感度:

SystemModelParametricSimulate 应用于一个可对不同的值进行计算的函数:

针对不同的频率参数值计算解:

绘制解随时间变化的情况:

巧妙范例  (1)

仿真范德波尔模型并用参数化图显示:

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

文本

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

CMS

Wolfram 语言. 2018. "SystemModelSimulate." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/SystemModelSimulate.html.

APA

Wolfram 语言. (2018). SystemModelSimulate. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SystemModelSimulate.html 年

BibTeX

@misc{reference.wolfram_2024_systemmodelsimulate, author="Wolfram Research", title="{SystemModelSimulate}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/SystemModelSimulate.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_systemmodelsimulate, organization={Wolfram Research}, title={SystemModelSimulate}, year={2022}, url={https://reference.wolfram.com/language/ref/SystemModelSimulate.html}, note=[Accessed: 21-November-2024 ]}