Ваша ошибка не имеет ничего общего с переменными символами c.
Она вызвана оператором diff(f)(5)
- это не то, что MATLAB синтаксис допускает (по состоянию на R2019b) , MATLAB интерпретирует это как пользователь, пытающийся получить доступ к 5-му элементу некоторого промежуточного результата. Если вы хотите узнать фактическое значение производной f
при x=5
, вам придется заменить желаемое значение x
(используя subs
) и преобразовать его в некоторый числовой формат c (например, как double
):
syms x
f = sin(x)
disp(double(subs(diff(f),x,5))) % substitute x and convert to double