Дифференцируйте символьное выражение или функцию
diff( дифференцирует F,var1,...,varN)F относительно переменных var1,...,varN.
Найдите производную функции sin(x^2).
syms f(x) f(x) = sin(x^2); df = diff(f,x)
df(x) = 2*x*cos(x^2)
Найдите значение производной в x = 2Конвертируйте полученное значение в числовое двойной точности.
df2 = df(2)
df2 = 4*cos(4)
double(df2)
ans = -2.6146
Найдите первую производную этого выражения:
syms x t diff(sin(x*t^2))
ans = t^2*cos(t^2*x)
Поскольку вы не задавали переменную дифференцирования, diff использует переменную по умолчанию, заданную symvar. Для этого выражения переменной по умолчанию является x:
symvar(sin(x*t^2),1)
ans = x
Теперь найдите производную этого выражения относительно переменной t:
diff(sin(x*t^2),t)
ans = 2*t*x*cos(t^2*x)
Найдите 4-е, 5-е, и 6-е производные этого выражения:
syms t d4 = diff(t^6,4) d5 = diff(t^6,5) d6 = diff(t^6,6)
d4 = 360*t^2 d5 = 720*t d6 = 720
Найдите вторую производную этого выражения относительно переменной y:
syms x y diff(x*cos(x*y), y, 2)
ans = -x^3*cos(x*y)
Вычислите вторую производную выражения x*y. Если вы не задаете переменную дифференцирования, diff использует переменную, определенную symvar. Для этого выражения, symvar(x*y,1) возвращает x. Поэтому diff вычисляет вторую производную x*y относительно x.
syms x y diff(x*y, 2)
ans = 0
Если вы используете, вложил diff вызовы и не задают переменную дифференцирования, diff определяет переменную дифференцирования для каждого вызова. Например, дифференцируйте выражение x*y путем вызова diff функционируйте дважды:
diff(diff(x*y))
ans = 1
В первом вызове, diff дифференцируйте x*y относительно x, и возвращает y. Во втором вызове, diff дифференцирует y относительно y, и возвращает 1.
Таким образом, diff(x*y, 2) эквивалентно diff(x*y, x, x), и diff(diff(x*y)) эквивалентно diff(x*y, x, y).
Дифференцируйте это выражение относительно переменных x и y:
syms x y diff(x*sin(x*y), x, y)
ans = 2*x*cos(x*y) - x^2*y*sin(x*y)
Также можно вычислить смешанные производные высшего порядка путем обеспечения всех переменных дифференцирования:
syms x y diff(x*sin(x*y), x, x, x, y)
ans = x^2*y^3*sin(x*y) - 6*x*y^2*cos(x*y) - 6*y*sin(x*y)
Когда вычисление смешало производные высшего порядка, не используйте n задавать порядок дифференцирования. Вместо этого задайте все переменные дифференцирования явным образом.
Улучшать производительность, diff принимает, что все смешанные производные коммутируются. Например,
Это предположение достаточно для большинства технических и научных проблем.
Если вы дифференцируете многомерное выражение или функциональный F не задавая переменную дифференцирования, затем вложенный вызов diff и diff(F,n) может возвратить различные результаты. Это вызвано тем, что во вложенном вызове, каждый шаг дифференцирования определяет и использует свою собственную переменную дифференцирования. В вызовах как diff(F,n), переменная дифференцирования определяется однажды symvar(F,1) и используемый во всех шагах дифференцирования.
Если вы дифференцируете выражение или функцию, содержащую abs или sign, гарантируйте, что аргументы являются действительными значениями. Для сложных аргументов abs и sign, diff функция официально вычисляет производную, но этот результат не обычно допустим потому что abs и sign не дифференцируемы по комплексным числам.
curl | divergence | functionalDerivative | gradient | hessian | int | jacobian | laplacian | symvar