functionalDerivative

Функциональная производная

Описание

пример

D = functionalDerivative(f,y) возвращает Функциональную Производную функционального F=f(x,y(x),y'(x)...)dx относительно функционального y = y (x), где x представляет одну или несколько независимых переменных. Если y вектор символьных функций, functionalDerivative возвращает вектор функциональных производных относительно функций в y, где все функции в y должен зависеть от тех же независимых переменных.

Примеры

Найдите функциональную производную

Найдите функциональную производную функции данной f(y)=y(x)sin(y(x)) относительно функционального y.

syms y(x)
f = y*sin(y);
D = functionalDerivative(f,y)
D(x) =
sin(y(x)) + cos(y(x))*y(x)

Найдите функциональную производную вектора Functionals

Найдите функциональную производную функции данной H(u,v)=u2dvdx+vd2udx2 относительно функций u и v.

syms u(x) v(x)
H = u^2*diff(v,x)+v*diff(u,x,x);
D = functionalDerivative(H,[u v])
D(x) =
 2*u(x)*diff(v(x), x) + diff(v(x), x, x)
 diff(u(x), x, x) - 2*u(x)*diff(u(x), x)

functionalDerivative возвращает вектор символьных функций, содержащих функциональные производные H относительно u и v, соответственно.

Найдите уравнение Эйлера-Лагранжа для Spring

Сначала найдите функцию Лагранжа в течение пружины с массовым m и коэффициент упругости k, и затем выведите уравнение Эйлера-Лагранжа. Функция Лагранжа является различием кинетической энергии T и потенциальная энергия V которые являются функциями смещения x(t).

syms m k x(t)
T = sym(1)/2*m*diff(x,t)^2;
V = sym(1)/2*k*x^2;
L = T - V
L(t) =
(m*diff(x(t), t)^2)/2 - (k*x(t)^2)/2

Найдите уравнение Эйлера-Лагранжа путем нахождения функциональной производной L относительно x, и приравняйте его к 0.

eqn = functionalDerivative(L,x) == 0
eqn(t) =
- m*diff(x(t), t, t) - k*x(t) == 0

diff(x(t), t, t) ускорение. Уравнение eqn представляет ожидаемое дифференциальное уравнение, которое описывает пружинное движение.

Решите eqn использование dsolve. Получите ожидаемую форму решения путем принятия массового m и коэффициент упругости k положительны.

assume(m,'positive')
assume(k,'positive')
xSol = dsolve(eqn,x(0) == 0)
xSol =
-C3*sin((k^(1/2)*t)/m^(1/2))

Очистите предположения для дальнейших вычислений.

assume([k m],'clear')

Найдите дифференциальное уравнение для задачи о брахистохроне

Задача о брахистохроне состоит в том, чтобы найти самый быстрый путь спуска под силой тяжести. Время для тела, чтобы пройти кривая y(x) под силой тяжести дают

f=1+y'22gy,

где g является ускорением из-за силы тяжести.

Найдите самый быстрый путь путем минимизации f относительно пути y. Условие для минимума

δfδy=0.

Вычислите это условие получить дифференциальное уравнение, которое описывает Задачу о брахистохроне. Используйте simplify упростить решение его ожидаемой формы.

syms g y(x)
assume(g,'positive')
f = sqrt((1+diff(y)^2)/(2*g*y));
eqn = functionalDerivative(f,y) == 0;
eqn = simplify(eqn)
eqn(x) =
diff(y(x), x)^2 + 2*y(x)*diff(y(x), x, x) == -1

Это уравнение является стандартным дифференциальным уравнением для Задачи о брахистохроне.

Найдите минимальную поверхность на 3-D пробеле

Если функциональный u (x, y) описывает поверхность на 3-D пробеле, то площадь поверхности найдена функциональным

F(u)=f(x,y,u,ux,uy)dxdy=1+ux2+uy2dxdy,

где u x и u y является частными производными u относительно x и y.

Найдите уравнение, которое описывает минимальную поверхность для 3-D поверхности, описанной функциональным u(x,y) путем нахождения функциональной производной f относительно u.

syms u(x,y)
f = sqrt(1 + diff(u,x)^2 + diff(u,y)^2);
D = functionalDerivative(f,u)
D(x, y) =
-(diff(u(x, y), y)^2*diff(u(x, y), x, x)...
 + diff(u(x, y), x)^2*diff(u(x, y), y, y)...
 - 2*diff(u(x, y), x)*diff(u(x, y), y)*diff(u(x, y), x, y)...
 + diff(u(x, y), x, x)...
 + diff(u(x, y), y, y))/(diff(u(x, y), x)^2...
 + diff(u(x, y), y)^2 + 1)^(3/2)

Решения этого уравнения D опишите минимальные поверхности на 3-D пробеле, такие как пузыри мыла.

Входные параметры

свернуть все

Выражение, чтобы найти функциональную производную, заданной как символьная переменная, функция или выражение. Аргумент f представляет плотность функционального.

Функция дифференцирования, заданная как символьная функция или вектор, матрица или многомерный массив символьных функций. Аргумент y может быть функция одной или нескольких независимых переменных. Если y вектор символьных функций, functionalDerivative возвращает вектор функциональных производных относительно функций в y, где все функции в y должен зависеть от тех же независимых переменных.

Выходные аргументы

свернуть все

Функциональная производная, возвращенная как символьная функция или вектор символьных функций. Если вход y вектор, затем D вектор.

Больше о

свернуть все

Функциональная производная

Рассмотрите functionals

F(y)=Ωf(x,y(x),y'(x),y''(x),...)dx,

где Ω является областью в x - пробел.

Для небольшого изменения в значении y, δy, изменение в функциональном F

δFδy=ddε|ε=0F(y+εδy)=Ωδf(x)δyδy(x)dx+ граничные члены.

Выражение δf(x)δy функциональная производная f относительно y.

Представленный в R2015a