我想找到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.
您的错误与符号变量无关。
由语句diff(f)(5)
引起-这不是MATLAB 语法允许的(自R2019b起)。 MATLAB将此解释为用户尝试访问某个中间结果的第5个元素。如果您想知道f
处x=5
的导数的实际值,则必须用x
替换所需的subs
值并将其转换为某种数字格式(例如double
]):
syms x
f = sin(x)
disp(double(subs(diff(f),x,5))) % substitute x and convert to double
Y = cos(x)将仅提供x的余弦值。或所有x。
我认为在您的代码中:disp(diff(f(f(5)))应该起作用。