主要内容

坡度

数值梯度

描述

例子

FX.=梯度(F返回一维数值梯度矢量图F.输出FX.对应于∂F/∂X,这就是X(水平)方向。假设点之间的间隔1

例子

[FX.f] =渐变(F返回Xy二维分量数值梯度的矩阵F.额外的输出f对应于∂F/∂y,这就是y(垂直)方向。假设每个方向的点之间的间隔1

[FX.fFZ.,......,FN.] =渐变(F返回N组件的数值梯度F, 在哪里F是一个数组N维度。

例子

[___] =渐变(FH使用H作为每个方向点之间的均匀间隔。您可以指定先前语法中的任何输出参数。

例子

[___] =渐变(FHX.HY.,......,HN.指定N的每个维度的间距参数F

例子

全部收缩

计算单调增加载体的梯度。

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

计算的二维梯度 X E. - X 2 - y 2 在网格上。

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

在同一个图中绘制等高线和矢量。

图轮廓(x,y,z)保持quivive(x,y,px,py)保持

图中包含一个坐标轴。轴包含2个型轮廓,颤动的物体。

使用特定点的梯度来线性逼近函数在附近点的值,并将其与实际值进行比较。

用于函数值的线性近似的等式是

F X F X 0. + F X 0. X - X 0.

也就是说,如果你知道一个函数的值 F X 0. 以及导数的斜率 F X 0. 特定点 X 0. ,然后你可以使用这个信息来近似函数在附近点的值 F X = F X 0. + ϵ

计算正弦函数在-1到0.5之间的一些值。然后计算梯度。

Y = SIN(-1:0.25:0.5);yp =梯度(y,0.25);

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

Y_GUESS = Y(结束)+ YP(END)*(0.5005  -  0.5)
Y_GUESS = 0.4799.

计算实际值以进行比较。

y_actual =罪(0.5005)
y_actual = 0.4799

在指定点找到多变量函数的渐变值。

考虑多变量函数 F X y = X 2 y 3.

x = 3:0.2:3;y = x ';F = x ^2 * y ^3;冲浪(x, y, f)包含('X') ylabel ('是')Zlabel(“z”

图中包含一个坐标轴。轴包含一个类型为曲面的对象。

计算网格上的渐变。

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

提取梯度的值(1,-2).为此,首先获取要与之合作的点的指标。然后,使用索引从中提取相应的梯度值FX.f

x0 = 1;y0 = -2;t =(x == x0)&(y == y0);indt =查找(t);f_grad = [fx(indt)fy(indt)]
f_grad =1×2-16.0000 12.0400

梯度的确切值 F X y = X 2 y 3. 在(1,-2)点

F 1 - 2 = 2 X y 3. 一世 + 3. X 2 y 2 j = - 1 6. 一世 + 1 2 j

输入参数

全部收缩

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

数据类型:单身的|双倍的
复数支持:金宝app是的

在所有方向之间的点之间的均匀间隔,指定为标量。

例子:[FX,FY] =梯度(F,2)

数据类型:单身的|双倍的
复数支持:金宝app是的

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

  • 标量指定维度中的常量间距。

  • 向量指定值在对应维数上的坐标F.在这种情况下,向量的长度必须与相应维度的大小匹配。

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

例子:[FX,FY] =梯度(F,[0.1 0.3 0.5],2)

例子:[FX,FY] =梯度(F,[0.1 0.3 0.5],[2 3 5])

数据类型:单身的|双倍的
复数支持:金宝app是的

输出参数

全部收缩

数值梯度,作为与相同尺寸的阵列返回F.第一个输出FX.梯度总是沿着二维的吗F,跨栏。第二个输出f始终是第一个维度的梯度F穿过一排排。对于第三个输出FZ.接下来的输出N产出是沿着梯度Nth尺寸F

更多关于

全部收缩

数值梯度

数值梯度函数是一种用特定点处的函数的已知值估计每个维度中的部分导数的值。

对于二元函数,FXy),梯度是

F = F X 一世 ^ + F y j ^

梯度可以被认为是指向的方向的向量的集合F.在MATLAB®,您可以计算具有任意数量变量的函数的数字渐变。对于一个函数N变量,FXyZ.,…),梯度是

F = F X 一世 ^ + F y j ^ + F Z. K. ^ + ...... + F N N ^

提示

  • 使用或自定义算法来计算多个数值导数,而不是调用坡度多次。

算法

坡度计算中心区别用于内部数据点。例如,考虑一个单位间隔数据的矩阵,一种,具有水平渐变g =渐变(a).内部梯度值,g(:,j), 是

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

下标j之间的不同2N-1, 和n =尺寸(a,2)

坡度沿矩阵边缘计算值单方面差异

g(:,1)= a(:,2) -  a(:,1);g(:,n)= a(:,n) -  a(:,n-1);

如果你指定了点间距,那么坡度适当地衡量差异。如果指定两个或多个输出,则该函数还将以类似的方式计算其他维度的差异。不像功能,坡度返回具有与输入相同数量的元素数组。

扩展能力

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

也可以看看

|

之前介绍过的R2006a