微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 ModelingToolkit.jl 动态创建变量

如何解决如何使用 ModelingToolkit.jl 动态创建变量

主要问题是我的变量只有在运行代码后才能确定(因为变量的数量是不固定的)。

在旧版本的 ModelingToolkit.jl 中,我使用以下代码生成变量。

my_var = Variable(Symbol(name))(t)  # name is a string

但是,它不能在最新版本中运行。这是错误

ERROR: Sym name is not callable. Use @syms name(var1,var2,...) to create it as a callable.

我检查了 SymbolicUtils.jl 但没有找到其他用法。我该如何解决这个问题?

解决方法

您也可以使用 @variables 宏在运行时创建符号变量。 $ 运算符插入运行时值。

julia> using ModelingToolkit

julia> z = :abc;

julia> k = @variables $z
1-element Vector{Num}:
 abc

julia> k[1]
abc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。