评估符号函数

Evaluating a symbolic function

我要找cos(5)。为什么这个表达式无效:

syms x
f=sin(x)
disp(diff(f)(5))

错误是

Line: 3 Column: 12
Indexing with parentheses '()' must appear as the last operation of a valid indexing expression.

Y = cos(x) 将简单地提供 x 的余弦值。或者所有的 x.

我认为在你的代码中: disp(diff(f(5))) 应该工作。

您的错误与符号变量无关。

它是由语句 diff(f)(5) 引起的 - 这不是 MATLAB syntax 允许的(从 R2019b 开始)。 MATLAB 将此解释为用户试图访问某个中间结果的第 5 个元素。如果您想知道 fx=5 处的导数的实际值,您必须替换 x 的所需值(使用 subs)并将其转换为一些数字格式(例如double):

syms x
f = sin(x)
disp(double(subs(diff(f),x,5))) % substitute x and convert to double