求解字符串线性方程



我有一个字符串格式的线性方程例如:

equation = "2 * x + 1 = 17"

x方程的最佳方法是什么?

给你:

julia> using Roots
julia> f(x) = eval(Meta.parse("2 * $x + 1 - 17"))
f (generic function with 1 method)
julia> find_zero(f, 5)
8.0

(感谢我的朋友Elias,我学会了解决这类问题的方法)。

作为另一种选择,使用Symbolics.jl:

julia> using Symbolics
julia> equation = "2 * x + 1 = 17"
"2 * x + 1 = 17"
julia> @variables x
1-element Vector{Num}:
x
julia> eqn = eval(Meta.parse(replace(equation, "=" => "~")))
1 + 2x ~ 17
julia> Symbolics.solve_for(eqn, x)
8.0

(不确定哪些方程Symbolics知道如何解决)

最新更新