# @named


重写或命名系统

函数库: TySymbolicMath

# 语法

@named y = foo(x)
@named y[1:10] = foo(x)
@named y 1:10 i -> foo(x*i)
@named sysname

# 说明

将@named y = foo(x) 重写为 y = foo(x; name=:y)。示例


利用@named对系统进行命名。示例

# 示例

重写函数
using TySymbolicMath
using ModelingToolkit
foo(i; name) = i, name
foo (generic function with 1 method)
x = 41
x = 41
@named y = foo(x)
(41, :y)
系统命名

创建参数,自变量及状态变量

using TySymbolicMath
using ModelingToolkit
@parameters σ ρ β
@variables t x(t) y(t) z(t)
3-element Vector{Num}:
σ
ρ
β

4-element Vector{Num}:
t
x(t)
y(t)
z(t)

创建微分方法

D = Differential(t)
D = (::Differential) (generic function with 3 methods)

创建方程

eqs = [D(x) ~ σ*(y-x),
D(y) ~ x*(ρ-z)-y,
D(z) ~ x*y - β*z]
eqs = 3-element Vector{Equation}:
Differential(t)(x(t)) ~ (-x(t) + y(t))*σ
Differential(t)(y(t)) ~ -y(t) + x(t)*(-z(t) + ρ)
Differential(t)(z(t)) ~ x(t)*y(t) - z(t)*β

利用@named 和ODESystem函数将方程形式的向量转换为常微分方程系统

@named ode = ODESystem(eqs,t,[x,y,z],[σ,ρ,β])
ode = Model ode with 3 equations
States (3):
x(t)
y(t)
z(t)

Parameters (3):
σ
ρ
β