Syslab如何实现matlab的eval函数功能?
技术分享
发布于 2025-07-22 13:34:59
查看 2过去315天
Syslab支持eval函数的使用,可以通过使用eval函数实现对一组命名有规律的数据的批量操作。比如需要将一组有规律的变量存入数组,示例代码如下:
mod_out = zeros(120,10)
a=[]
b=[]
for i in 1:10
# println(i)
str = "mod_out" * string(i)
str2 = "mod_out[:," * string(i) * "]"
push!(a,str)
push!(b,str2)
println(a)
end
to_ast = Meta.parse
for n in a
println(n)
# println(v)
@eval $(to_ast(n)) = randn(120)
end
for (n,v) in zip(b,a)
println(n)
println(typeof(v))
@eval $(to_ast(n)) = $(to_ast(v))
end
运行结果如下:

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境