重置功能添加到Simscape积分器

3视图(30天)
威廉•亨特
威廉•亨特 2015年7月20日
回答: 马丁 2023年1月9日
我想添加一个复位输入自定义使用simscape积分器块。如果复位输入1,积分器将正常,如果复位输入0将重置为初始条件。为此我试图设置变量x的初始条件(x0)当“重置= = 0”但不知道如何填充其他条件保持x不变如果“重置= = 1”(“如果”必须伴随着simscape语言中“其他”根据文档)。我试着设置x = = x,但这并不奏效。我编写的代码所示。任何帮助将不胜感激。
输入
I = {0,' 1 '};%:左
r = {0,' 1 '};% r:左
结束
输出
O = {0,' 1 '};% B:对
结束
参数
x0 = {0,' 1 '};%初始条件
结束
变量(=公共访问)
x = {0,' 1 '};
结束
函数设置
x = x0;
结束
方程
如果r < = 0
x = = x0;x %重置
其他的
%什么也不做
结束
x.der = =我* {1,“1 / s”};
O = = x;%设置输出
结束
1评论
马修索恩
马修索恩 2017年12月7日
嘿,
你有没有找到这个问题的解决方案吗?
使用2014 b。我能想到的唯一的解决办法是在一个if语句,并设置其他集成一个大的积极或消极的常数,直到我得到接近于零。
但这地不是一个好的解决方案。

登录置评。

答案(3)

尼古拉斯Schmit
尼古拉斯Schmit 2018年1月24日
我不是一个Simscape开发人员,但我知道Simscape不会让你手动重置集成商。工作是使用仿真软件集成商和Simulink-PS转换金宝app器模块。

大卫•约翰
大卫•约翰 2022年4月19日
2018年Simscape真的不让你重置集成商。然而,在最近的一个版本,你可以使用附加的代码至少从R2021a。

马丁
马丁 2023年1月9日
PS积分器在R2021a更新提供此功能。源代码可用的块。

类别

找到更多的在非线性算子帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!