Julia升级至1.10.3后SymPy中@vars/@symfuns未定义问题求助
Julia升级到1.10.3后SymPy的@vars/@symfuns宏未定义的解决方法
解决办法1:显式导入宏
新版本的SymPy.jl可能不再默认导出@vars和@symfuns宏,你可以在导入包时显式指定要导入的宏:
using SymPy: @vars, @symfuns @vars x
或者在调用时加上包名前缀:
using SymPy SymPy.@vars x
解决办法2:使用替代的函数式定义
如果不想导入宏,也可以用SymPy提供的函数来替代:
- 替代
@vars:使用symbols()函数using SymPy x = symbols("x") # 定义多个变量 x, y, z = symbols("x y z") - 替代
@symfuns:使用symfuns()函数或SymFunction()构造器using SymPy # 方式1:symfuns函数 f, g = symfuns("f g") # 方式2:SymFunction构造器 f = SymFunction("f")
原因说明
Julia升级到1.10.3后,配套的SymPy.jl包可能进行了版本更新,调整了默认导出的符号集合,@vars和@symfuns不再被自动导入到全局命名空间中,因此需要显式导入或改用函数式定义方式。
内容的提问来源于stack exchange,提问作者Universitario Mates
相关产品推荐
相关产品推荐

