Функциональная производная (вариационная производная)
возвращает функциональную производную
δSδy функционального относительно функции y = y (x), где x представляет одну или несколько независимых переменных. Функциональная производная связана с изменением функционального S [y] относительно небольшого изменения y (x). Функциональная производная также известна как вариационная производная.G = functionalDerivative(f,y)
Если y - вектор символических функций, functionalDerivative возвращает вектор функциональных производных относительно функций в y, где все функции в y должен зависеть от одних и тех же независимых переменных.
Найдите функциональную производную функционального )) dx относительно функции y, где ) sin (y (x)).
Объявить y(x) как символическая функция и определить f как интеграл S. Использование f и y в качестве параметров functionalDerivative.
syms y(x)
f = y*sin(y);
G = functionalDerivative(f,y)G(x) =
Найдите функциональную производную функционального (x) dx2) dx относительно функций u и v, где v ′ (x)] = u2dvdx + vd2udx2.
Объявить u(x) и v(x) в качестве символьных функций и определить f как интеграл .
syms u(x) v(x) f = u^2*diff(v,x) + v*diff(u,x,x);
Задание вектора символьных функций [u v] как второй входной аргумент в functionalDerivative.
G = functionalDerivative(f,[u v])
G(x) =
functionalDerivative возвращает вектор символьных функций, содержащий функциональные производные интеграла f в отношении u и vсоответственно.
Найти уравнение Эйлера-Лагранжа массы m который соединен с пружиной с постоянной пружиной k.
Определение кинетической энергии T, потенциальная энергия V, и Лагранжиан L системы. Лагранжиан - это разница между кинетической и потенциальной энергией.
syms m k x(t) T = 1/2*m*diff(x,t)^2; V = 1/2*k*x^2; L = T - V
L(t) =
В лагранжевой механике функциональное действие системы равно интегралу лагранжиана с течением времени, или ] dt. Уравнение Эйлера - Лагранжа описывает движение системы, для x (t)] является неподвижным.
Найдите уравнение Эйлера - Лагранжа, взяв функциональную производную интеграла L и установка его равным 0.
eqn = functionalDerivative(L,x) == 0
eqn(t) =
eqn - дифференциальное уравнение, описывающее колебание масса-пружина.
Решить eqn использование dsolve. Предположим, что масса m и постоянной пружины k являются положительными. Установите начальные условия для амплитуды колебаний как 10 и начальную скорость массы 0) = 0.
assume(m,'positive') assume(k,'positive') Dx(t) = diff(x(t),t); xSol = dsolve(eqn,[x(0) == 10, Dx(0) == 0])
xSol =
Четкие допущения для дальнейших расчетов.
assume([k m],'clear')Задача Brachistochrone - найти самый быстрый путь спуска частицы под гравитацией без трения. Движение ограничивается вертикальной плоскостью. Время перемещения тела вдоль кривой ) из точки a в b под действием силы тяжести g определяется как
Найдите самый быстрый путь, минимизируя изменение t относительно небольших изменений в пути . Условие для минимума равно = 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) =
Это уравнение является стандартным дифференциальным уравнением задачи Брахистохрона. Чтобы найти решения дифференциального уравнения, используйте dsolve. Укажите 'Implicit' опция для true для возврата неявных решений, которые имеют форму g (x).
sols = dsolve(eqn,'Implicit',true)sols =
Символьный решатель dsolve возвращает общие решения в сложном пространстве. Символьная математическая Toolbox™ не принимает предположение, что символическая функция ) является действительной.
В зависимости от граничных условий существует два решения задачи Брахистохрона в реальном пространстве. Одно из двух решений ниже описывает циклоидную кривую в реальном пространстве.
solCycloid1 = sols(3)
solCycloid1 =
solCycloid2 = sols(4)
solCycloid2 =
Другим решением в реальном пространстве является горизонтальная прямая, где - постоянная.
solStraight = simplify(sols(5))
solStraight =
Для иллюстрации циклоидного решения рассмотрим пример с граничными условиями = 5 4) = 1. В этом случае уравнение, которое может удовлетворить заданным граничным условиям,solCycloid2. Замените два граничных условия на solCycloid2.
eq1 = subs(solCycloid2,[x y(x)],[0 5]); eq2 = subs(solCycloid2,[x y(x)],[4 1]);
Два уравнения, eq1 и eq2, имеют два неизвестных коэффициента, и . Использовать vpasolve найти численные решения для коэффициентов. Заменить эти решения на solCycloid2.
coeffs = vpasolve([eq1 eq2]);
eqCycloid = subs(solCycloid2,{'C1','C5'},{coeffs.C1,coeffs.C5})eqCycloid =
Неявное уравнение eqCycloid описывает циклоидное решение задачи Брахистохрона в терминах и ).
Затем можно использовать fimplicit составлять заговор eqCycloid. С тех пор fimplicit принимает только неявные символьные уравнения, содержащие символьные переменные и , преобразует символьную функцию y в символьную переменную . Использовать mapSymType для преобразования ) в x. Постройте график циклоидного решения в граничных условиях x < 4 1 < y < 5.
funToVar = @(obj) sym('y'); eqPlot = mapSymType(eqCycloid,'symfun',funToVar); fimplicit(eqPlot,[0 4 1 5])

Для функции y), которая описывает поверхность в 3-D пространстве, площадь поверхности может быть определена функциональным
ux,uy]dxdy=∫y1y2∫x1x21+ux2+uy2dxdy
где и - частные производные относительно и .
Найти функциональную производную интеграла f в отношении u.
syms u(x,y)
f = sqrt(1 + diff(u,x)^2 + diff(u,y)^2);
G = functionalDerivative(f,u)G(x, y) =
Результатом является уравнение G которая описывает минимальную поверхность поверхности 3-D, определяемую u(x,y). Решения этого уравнения описывают минимальные поверхности в 3-D пространстве, такие как мыльные пузыри.
f - Интеграция функциональныхИнтегрирует функциональную, заданную как символьная переменная, функция или выражение. Аргумент f представляет плотность функционала.
y - Функция дифференциацииФункция дифференциации, заданная как символьная функция или вектор, матрица или многомерный массив символьных функций. Аргумент y может быть функцией одной или нескольких независимых переменных. Если y - вектор символических функций, functionalDerivative возвращает вектор функциональных производных относительно функций в y, где все функции в y должен зависеть от одних и тех же независимых переменных.
G - Функциональная производнаяФункциональная производная, возвращаемая как символическая функция или вектор символических функций. Если вход y является вектором, то G является вектором.
Рассмотрим функцию
)] dx,
который может принимать любой путь от a до b в x-пространстве.
Для небольшого изменения пути y (x) определите изменение как x), в котором (x) является произвольной тестовой функцией. Изменение в функциональной S
dx.
Выражение ) является функциональной производной S относительно y. Линейный функциональный DS [y] также известен как первый вариант или дифференциал Gateaux функционального S.
Один из методов вычисления функциональной производной заключается в применении расширения Тейлора к выражению S [y + α, Держа первые условия заказа в ε, выполняя интеграцию частями и выбирая граничные условия ϕ (a) = ϕ (b) = ϕ' (a) = ϕ' (b) =... = 0, функциональная производная становится
ididxi (∂f∂y (i)).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.