如何计算符号表达式的数值近似值?
How to compute numeric approximation of symbolic expression?
我有一个函数的导数,Octave 将它显示为一个表达式:
10____ ⎛ 10 ⎞
╲╱ 11 ⋅⎜- ── + log(11)⎟
⎝ 11 ⎠
这很好,很整洁,而且完全准确。但是,我想获得所述表达式的数值近似值,而无需手动输入表达式(这对我来说似乎违反直觉)。我不知道该怎么做,但我可能只是不知道到底要搜索什么(英语不是我的母语),因此我无法判断这个问题是否重复。
这就是我到达那里的方式:
octave> f(x)=(1+(1/x))^x
f(x) = (symfun)
x
⎛ 1⎞
⎜1 + ─⎟
⎝ x⎠
octave> F(x)=diff(f(x))
F(x) = (symfun)
x
⎛ 1⎞ ⎛ ⎛ 1⎞ 1 ⎞
⎜1 + ─⎟ ⋅⎜log⎜1 + ─⎟ - ─────────⎟
⎝ x⎠ ⎜ ⎝ x⎠ ⎛ 1⎞⎟
⎜ x⋅⎜1 + ─⎟⎟
⎝ ⎝ x⎠⎠
octave> F(0.1)
warning: passing floating-point values to sym is dangerous, see "help sym"
[...]
10____ ⎛ 10 ⎞
╲╱ 11 ⋅⎜- ── + log(11)⎟
⎝ 11 ⎠
我认为你需要 eval
功能
https://octave.org/doc/v4.0.1/Evaluation.html
例如
>> eval("log(11)")
ans = 2.3979
我有一个函数的导数,Octave 将它显示为一个表达式:
10____ ⎛ 10 ⎞
╲╱ 11 ⋅⎜- ── + log(11)⎟
⎝ 11 ⎠
这很好,很整洁,而且完全准确。但是,我想获得所述表达式的数值近似值,而无需手动输入表达式(这对我来说似乎违反直觉)。我不知道该怎么做,但我可能只是不知道到底要搜索什么(英语不是我的母语),因此我无法判断这个问题是否重复。
这就是我到达那里的方式:
octave> f(x)=(1+(1/x))^x
f(x) = (symfun)
x
⎛ 1⎞
⎜1 + ─⎟
⎝ x⎠
octave> F(x)=diff(f(x))
F(x) = (symfun)
x
⎛ 1⎞ ⎛ ⎛ 1⎞ 1 ⎞
⎜1 + ─⎟ ⋅⎜log⎜1 + ─⎟ - ─────────⎟
⎝ x⎠ ⎜ ⎝ x⎠ ⎛ 1⎞⎟
⎜ x⋅⎜1 + ─⎟⎟
⎝ ⎝ x⎠⎠
octave> F(0.1)
warning: passing floating-point values to sym is dangerous, see "help sym"
[...]
10____ ⎛ 10 ⎞
╲╱ 11 ⋅⎜- ── + log(11)⎟
⎝ 11 ⎠
我认为你需要 eval
功能
https://octave.org/doc/v4.0.1/Evaluation.html
例如
>> eval("log(11)")
ans = 2.3979