评估符号函数

问题描述 投票:0回答:2

我想找到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.
matlab symbolic-math evaluation derivative function-call
2个回答
0
投票

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

由语句diff(f)(5)引起-这不是MATLAB 语法允许的(自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

-1
投票

Y = cos(x)将仅提供x的余弦值。或所有x。

我认为在您的代码中:disp(diff(f(f(5)))应该起作用。

© www.soinside.com 2019 - 2024. All rights reserved.