定义组件方程
方程Expression1
==Expression2
;结束
方程
在组件文件中开始方程部分;本节以结束
关键字。方程部分的目的是建立组件的变量、参数、输入、输出、时间和每个实体的时间导数之间的数学关系。在组件中声明的所有成员都可以在等式部分通过其名称获得。
Simscape™文件的方程部分将在整个模拟过程中执行。属性还可以指定仅在模型初始化期间执行的方程(初始= true)
属性。有关更多信息,请参见初始方程.
下面的语法定义了一个简单的等式。
方程Expression1==Expression2;结束
该声明
是一个方程。它指定类的两个对象之间连续的数学相等Expression1
==Expression2
表达式
.一个表达式
是一个有效的MATLAB®表达式。表达式
可以由模型声明中定义的任何标识符构造。
方程部分可能包含多个方程语句。您还可以使用如果
语句如下:
elseif Expression EquationList {elseif Expression EquationList} else EquationList end结束
请注意
方程表达式的总数,它们的维数,和它们的顺序必须是相同的if-elseif-else
声明。
你可以在中间体
部分的组件或域文件,然后在相同的组件文件、封闭的复合组件或具有该域类型节点的组件中的任何方程部分中使用这些术语。
你也可以直接在方程中定义中间项让
语句如下:
方程来声明条款在表达条款结束结束
声明子句在等号的左边指定一个或一组标识符(=
)转化为等号右边的方程表达式:
LetValue= EquationExpression
表达式子句定义了替换的范围。它以关键字开始在
,可以包含一个或多个方程式表达式。在解析期间,将声明子句中分配给标识符的所有表达式替换到表达式子句中的方程中。
请注意
的结束
关键字必须在a的末尾let-in-end
声明。
下面的规则适用于方程部分:
EquationList
类的一个或多个对象EquationExpression
,用逗号、分号或换行符分隔。
EquationExpression
可以是:
表达式
条件表达式(if-elseif-else
语句)
让表达式(let-in-end
语句)
表达式
是任何有效的MATLAB表达式。可由下列经营者组成:
算术
关系的(有限制的,参见方程中关系运算符的使用)
逻辑
原始的数学
索引
连接
在方程部分,表达式
不得与下列经营者组成:
矩阵求逆
中未列出的MATLAB函数金宝app支持功能
的结肠
运算符只能取常量或结束
作为操作数。
组件的所有成员都可以在等式部分访问,但没有一个是可写的。
下面的MATLAB函数可以在方程部分使用。该表包含仅适用于方程部分的附加限制。它还表明一个函数是否不连续。如果函数是不连续的,当与一个或多个连续操作数一起使用时,它会引入一个过零。
所有指定大小或维度的参数必须是无单元常数或无单元编译时参数。
金宝app支持功能
的名字 | 限制 | 不连续 |
---|---|---|
的 |
||
0 |
||
猫 |
||
horzcat |
||
vertcat |
||
长度 |
||
ndims |
||
元素个数 |
||
大小 |
||
isempty |
||
isequal |
有可能,如果参数是真实的,并且具有相同的大小和相称的单位 | |
isinf |
是的 | |
isfinite |
是的 | |
isnan |
是的 | |
+ |
||
uplus |
||
- |
||
uminus |
||
mtimes |
||
次 |
||
mpower |
||
权力 |
||
mldivide |
第一个参数必须是标量 | |
mrdivide |
第二个参数必须是标量 | |
ldivide |
||
rdivide |
||
国防部 |
是的 | |
总和 |
||
刺激 |
||
地板上 |
是的 | |
装天花板 |
是的 | |
修复 |
是的 | |
轮 |
是的 | |
情商 |
不与连续变量一起使用 | |
不 |
不与连续变量一起使用 | |
lt |
||
gt |
||
勒 |
||
通用电气 |
||
和 |
是的 | |
或 |
是的 | |
逻辑 |
是的 | |
罪 |
||
因为 |
||
棕褐色 |
||
印度历的7月 |
||
这些“可信赖医疗组织” |
||
: |
||
量化 |
是的 | |
日志 |
||
log10 |
||
sinh |
||
cosh |
||
双曲正切 |
||
经验值 |
||
√6 |
||
腹肌 |
是的 | |
标志 |
是的 | |
任何 |
是的 | |
所有 |
是的 | |
最小值 |
是的 | |
马克斯 |
是的 | |
双 |
||
int32 |
是的 | |
uint32 |
是的 | |
repmat |
||
重塑 |
不支持已展开的空维度金宝app | |
点 |
||
交叉 |
||
diff |
在两个参数重载中,由于Simscape的限制,第二个参数的上限是4 |
的(初始= true)
属性允许您指定仅在模型初始化期间执行的方程:
方程(初始= true)Expression1==Expression2;结束
的默认值最初的
方程的属性为假
,因此在声明常规方程时可以省略此属性。
有关何时以及如何指定初始方程的更多信息,请参见初始方程.
对于以下组件x和y声明为1x1变量,指定形式为y=x2:
方程y == x^2;结束
对于同一分量,指定如下分段方程:
用Simscape语言编写的这个等式如下:
x <= 1 y == x;Else y == x^2;结束结束
如果一个函数有多个返回值,请在让
语句访问其值。例如:
设[m, i] = min(a);在x == m;y = =我;结束结束