首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ModelingToolkit.jl动态创建变量

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

Stack Overflow用户
提问于 2021-07-06 15:31:27
回答 1查看 105关注 0票数 2

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

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

代码语言:javascript
复制
my_var = Variable(Symbol(name))(t)  # name is a string

然而,它不能在最新版本中工作。这就是错误。

代码语言:javascript
复制
ERROR: Sym name is not callable. Use @syms name(var1, var2,...) to create it as a callable.

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 11:18:29

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

代码语言:javascript
复制
julia> using ModelingToolkit

julia> z = :abc;

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

julia> k[1]
abc
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68266323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档