2

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

在旧版本的 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 但没有找到其他用法。我该如何解决这个问题?

4

1 回答 1

3

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

julia> using ModelingToolkit

julia> z = :abc;

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

julia> k[1]
abc
于 2021-07-08T03:18:29.127 回答