我想在循环的每次迭代中更改符号变量的名称,然后使用这些符号变量求解方程式,例如:
using SymPy
for i in 1:5
p{i} = symbols("p"{i}, real=true,positive=true)
solve(p{i}^2-i^2)
end
所以我想创建一系列标量符号变量(因为我认为不可能创建一个矢量值符号变量),每个变量都有不同的名称 - p1,p2,p3,p4和p5 - 然后在方程求解器中使用它们。然而,根据matlab,花括号符号似乎不适用于julia中的命名。一个快速的谷歌没有提出任何明显的答案。有什么想法吗?
答案 0 :(得分:3)
在julia和大多数计算机语言中,如果你发现自己需要一堆数字变量x1,x2,x3,...,你可能需要一个数组。 在朱莉娅,这可能看起来像这样,(但请注意,我不知道我在用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
这里我们从pp空开始,但是正确的类型;我们将每个符号推到pp的末尾;最后,我们可以用pp[i]
找出pp的第i项,这几乎是你的代码,但是没有shift键。