Dav*_*nro 5 symbolic-math sympy julia
我想在循环的每次迭代中更改符号变量的名称,然后使用这些符号变量求解方程,例如:
using SymPy
for i in 1:5
p{i} = symbols("p"{i}, real=true,positive=true)
solve(p{i}^2-i^2)
end
Run Code Online (Sandbox Code Playgroud)
因此,我希望创建一系列标量符号变量(因为我认为不可能创建向量值符号变量),每个变量都具有不同的名称 - p1、p2、p3、p4 和 p5 - 然后使用这些在方程求解器中。然而,花括号符号似乎不适用于按照 matlab 在 julia 中命名。快速谷歌没有提出任何明显的答案。有任何想法吗?
在 Julia 和大多数计算机语言中,如果您发现自己需要一堆数字变量 x1, x2, x3, ... ,您可能需要一个数组。在 Julia 中,这可能看起来像这样,(但请注意,我不知道我在用 SymPy 做什么)
using SymPy
pp=Sym[]
for i in 1:5
p = symbols("x$i", real=true,positive=true)
push!(pp,p)
solve(pp[i]^2-i^2)
end
Run Code Online (Sandbox Code Playgroud)
这里我们从 pp 开始,但类型正确;我们将每个符号推到 pp 的末尾;最后我们可以用 找出 pp 的第 i 项pp[i],这几乎是你的代码,但没有 Shift 键。