主要内容

方程

定义组件方程

语法

方程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支持功能

的名字 限制 不连续
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;结束

的默认值最初的方程的属性为,因此在声明常规方程时可以省略此属性。

有关何时以及如何指定初始方程的更多信息,请参见初始方程

例子

对于以下组件xy声明为1x1变量,指定形式为yx2

方程y == x^2;结束

对于同一分量,指定如下分段方程:

y x 1 < x < 1 x 2 否则

用Simscape语言编写的这个等式如下:

x <= 1 y == x;Else y == x^2;结束结束

如果一个函数有多个返回值,请在语句访问其值。例如:

设[m, i] = min(a);在x == m;y = =我;结束结束
介绍了R2009a