gradient

Вектор градиента из скалярной функции

Описание

пример

g = gradient(f,v) находит вектор градиента из скалярной функции f относительно векторного v в Декартовых координатах. Вход f функция символьных скалярных переменных и векторного v задает скалярные переменные дифференцирования.

g = gradient(f) находит вектор градиента из скалярной функции f относительно вектора, созданного из всех символьных скалярных переменных, найден в f. Порядок переменных в этом векторе задан symvar.

gM = gradient(fM,vM) находит вектор градиента из скалярной функции fM относительно векторного vM в Декартовых координатах. Функция ввода fM функция переменных символьной матрицы и векторного vM переменная символьной матрицы размера 1- N или N- 1. (начиная с R2021b)

Примеры

свернуть все

Градиент скалярной функции f относительно векторного v вектор из первых частных производных f относительно каждого элемента v.

Найдите вектор градиента из f(x,y,z) относительно векторного [x,y,z]. Градиент является вектором с этими компонентами.

syms x y z
f(x,y,z) = 2*y*z*sin(x) + 3*x*sin(z)*cos(y);
gradient(f,[x,y,z])
ans(x, y, z) = 

(3cos(y)sin(z)+2yzcos(x)2zsin(x)-3xsin(y)sin(z)2ysin(x)+3xcos(y)cos(z))

Найдите градиент функционального f(x,y), и постройте его как дрожь (скорость) график.

Найдите вектор градиента из f(x,y) относительно векторного [x,y]. Градиентом является векторный g с этими компонентами.

syms x y
f = -(sin(x) + sin(y))^2;
g = gradient(f,[x,y])
g = 

(-2cos(x)sin(x)+sin(y)-2cos(y)sin(x)+sin(y))

Теперь постройте векторное поле, заданное этими компонентами. MATLAB® обеспечивает quiver функция построения графика для этой задачи. Функция не принимает символьные аргументы. Во-первых, замените символьные переменные в выражениях для компонентов g с числовыми значениями. Затем используйте quiver.

[X, Y] = meshgrid(-1:.1:1,-1:.1:1);
G1 = subs(g(1),[x y],{X,Y});
G2 = subs(g(2),[x y],{X,Y});
quiver(X,Y,G1,G2)

Figure contains an axes object. The axes object contains an object of type quiver.

Начиная с R2021b

Используйте переменные символьной матрицы, чтобы задать умножение матриц, которое возвращает скаляр.

syms X Y [3 1] matrix
A = Y.'*X
A = YTX

Найдите градиент умножения матриц относительно X.

gX = gradient(A,X)
gX = Y

Найдите градиент умножения матриц относительно Y.

gY = gradient(A,Y)
gY = X

Начиная с R2021b

Найдите градиент многомерной функции

f(x)=sin2(x1,1)+sin2(x1,2)+sin2(x1,3)

относительно вектора x=[x1,1,x1,2,x1,3].

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

syms x [1 3] matrix
f = sin(x)*sin(x).'
f = sin(x)sin(x)T
g = gradient(f,x)
g = 2cos(x)I3sin(x)T

Показать градиент в терминах элементов x, преобразуйте результат в вектор из символьных скалярных переменных с помощью symmatrix2sym.

g = symmatrix2sym(g)
g = 

(2cos(x1,1)sin(x1,1)2cos(x1,2)sin(x1,2)2cos(x1,3)sin(x1,3))

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

g = gradient(symmatrix2sym(f),symmatrix2sym(x))
g = 

(2cos(x1,1)sin(x1,1)2cos(x1,2)sin(x1,2)2cos(x1,3)sin(x1,3))

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

свернуть все

Скалярная функция в виде символьного выражения или символьной функции, которая является функцией символьных скалярных переменных.

Типы данных: sym | symfun

Вектор, относительно которого вы находите вектор градиента в виде символьного вектора. По умолчанию, v вектор, созданный из всех символьных скалярных переменных, найденных в f. Порядок переменных в этом векторе задан symvar.

Если v скаляр, gradient(f,v) = diff(f,v). Если v пустой символьный объект, такой как sym([])то gradient возвращает пустой символьный объект.

Типы данных: sym

Начиная с R2021b

Скалярная функция в виде символьного выражения, которое является функцией переменных символьной матрицы.

Типы данных: symmatrix

Начиная с R2021b

Вектор, относительно которого вы находите вектор градиента в виде переменной символьной матрицы размера 1- N или N- 1.

Типы данных: symmatrix

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

свернуть все

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

Типы данных: sym | symfun

Начиная с R2021b

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

Типы данных: symmatrix

Больше о

свернуть все

Вектор градиента

Вектор градиента из f (x) относительно вектора x=(x1,x2,,xn) вектор из первых частных производных f.

xf(x)=(fx1,fx2,,fxn)

Смотрите также

| | | | | | | |

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