如何计算符号表达式的数值近似值?

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