Оценка функции Symboli c - PullRequest
       6

Оценка функции Symboli c

0 голосов
/ 12 февраля 2020

Я хочу найти 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.

Ответы [ 2 ]

2 голосов
/ 12 февраля 2020

Ваша ошибка не имеет ничего общего с переменными символами 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
0 голосов
/ 12 февраля 2020

Y = cos (x) просто предоставит значение косинуса x. Или все х.

Я думаю, в вашем коде: disp (diff (f (5))) должно работать.

...