文档

梯度

数值梯度

语法

FX =梯度(F)
(外汇、财政年度)=梯度(F)
(外汇、财政年度,FZ,…,FN)=梯度(F)
(___]=梯度(F、h)
(___]=梯度(F、hx hy,…, hN)

描述

例子

外汇=梯度(F)返回一维数值梯度的向量F。输出外汇对应于∂F/∂x,这是不同的x(水平)的方向。点被认为是之间的间距1

例子

(外汇,财政年度)=梯度(F)返回xy组件的二维数值梯度的矩阵F。额外的输出财政年度对应于∂F/∂y,这是不同的y(垂直)方向。点之间的空间被认为是在每一个方向1

(外汇,财政年度,FZ、……FN)=梯度(F)返回N组件的数值梯度F,在那里F是一个数组,N维度。

例子

(___)=梯度(F,h)使用h作为一个统一的间距点在每个方向。您可以指定任何输出参数在以前的语法。

例子

(___)=梯度(F,hx,沪元、……接下来的)指定N间距参数为每个维度的间距F

例子

全部折叠

计算一个单调递增的梯度向量。

x = 1:10
x =1 2 3 4 5 6 7 8 9 10
fx =梯度(x)
fx =1 1 1 1 1 1 1 1 1 1

计算的二维梯度在一个网格。

x = 2:0.2:2;y = x ';z = x。* exp (- x。^ 2 - y ^ 2);(px, py) =梯度(z);

绘制等值线和向量图相同。

图轮廓(x, y, z)箭袋(x, y, px, py)

使用梯度在特定点线性近似函数值在附近的一个点和实际值进行比较。

方程的线性近似函数值

也就是说,如果你知道一个函数的值和导数的斜率在一个特定的点,那么您可以使用此信息来近似函数的值在附近的一个点

计算正弦函数的一些值介于1和0.5。然后计算梯度。

y =罪(1:0.25:0.5);yp =梯度(y, 0.25);

使用函数值和导数x = 0.5预测的价值罪(0.5005)

y_guess = y(结束)+ yp(结束)* (0.5005 - 0.5)
y_guess = 0.4799

计算实际值进行比较。

y_actual =罪(0.5005)
y_actual = 0.4799

找到一个多元函数的梯度值在指定点。

考虑到多元函数

x = 3:0.2:3;y = x ';f = x。^2。* y.^3; surf(x,y,f) xlabel(“x”)ylabel (“y”)zlabel (“z”)

计算网格上的梯度。

(外汇、财政年度)=梯度(f, 0.2);

提取的值梯度的点(1、2)。要做到这一点,首先获得指数点你想要的工作。然后,使用指数提取相应的梯度值外汇财政年度

x0 = 1;y0 = 2;t = (x = = x0) & (y = = y0);indt =找到(t);f_grad =(外汇(indt) (indt)财政年度)
f_grad =-16.0000 - 12.0400

的梯度的精确值在点(1,2)

输入参数

全部折叠

输入数组,指定为一个向量,矩阵,或多维数组。

数据类型:|
复数的支持:金宝app是的

向四面八方均匀间距点,指定为一个标量。

例子:(外汇、财政年度)=梯度(F, 2)

数据类型:|
复数的支持:金宝app是的

间距点在每个方向,指定为单独的输入标量或矢量。输入的数量必须匹配的数组维数F。每个输入可以是一个标量或矢量:

  • 一个标量指定一个常数间距尺寸。

  • 一个向量的坐标指定的值以及相应的维度F。在这种情况下,矢量的长度必须匹配相应的尺寸的大小。

例子:(外汇、财政年度)=梯度(F, 0.1, 2)

例子:(外汇、财政年度)=梯度(F (0.1 0.3 0.5), 2)

例子:(外汇、财政年度)=梯度(F, [0.1 0.3 0.5], [2 3 5])

数据类型:|
复数的支持:金宝app是的

输出参数

全部折叠

数值梯度,作为同样大小的数组返回F。第一个输出外汇总是沿着二维梯度F,穿过列。第二个输出财政年度总是的梯度沿第一维度F,穿过行。第三输出FZ和输出,N输出是梯度沿Nth尺寸F

更多关于

全部折叠

数值梯度

数值梯度函数是一种估计偏导数的值在每个维度使用的已知值函数在特定点。

两个变量的函数,F(x,y),梯度

F = F x ^ + F y j ^

梯度可以看作是一组向量指向的方向增加的值F。在MATLAB®,你可以用任意数量的计算数值梯度函数变量。一个函数的N变量,F(x,y,z…),梯度

F = F x ^ + F y j ^ + F z k ^ + + F N n ^

算法

梯度计算中心差分内部数据点。例如,考虑一个矩阵与unit-spaced数据,一个,水平梯度G =梯度(一个)。内陆梯度值,G (:, j),都是

G (:, j) = 0.5 * ((:, j + 1)——(:, j - 1));

下标j之间的不同2n - 1,N =大小(2)

梯度沿着边缘的矩阵计算值单面的差异:

G (: 1) = (:, 2)——(: 1);G (:, N) = (:, N) - (:, N - 1);

如果你指定点间距梯度适当规模的差异。如果指定两个或两个以上的输出,那么函数计算的差异以及其他维度以类似的方式。不像diff函数,梯度返回一个数组与相同数量的元素作为输入。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

另请参阅

|

之前介绍过的R2006a

这个主题有帮助吗?