Как вычислить числовое приближение символического выражения? - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть производная функции, и 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          ⎠

1 Ответ

1 голос
/ 19 сентября 2019

Я думаю, вам нужна функция eval

https://octave.org/doc/v4.0.1/Evaluation.html

Например,

>> eval("log(11)")
ans =  2.3979
...