Дифференцируйте символьное выражение или функцию
diff(F)diff(F,var)diff(F,n)diff(F,var,n)diff(F,var1,...,varN)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