主要内容

梯度

数值梯度

描述

例子

外汇=梯度(F返回一维数值梯度的向量F.输出外汇对应于∂F/∂x,这是在所述的差x(水平)的方向。点之间的间距假定为1

例子

外汇财政年度) =梯度(F返回xy二维的部件数值梯度矩阵的F.额外的输出财政年度对应于∂F/∂y,这是在所述的差y(垂直)方向。假设每个方向上点之间的间距为1

外汇财政年度FZ、……FN) =梯度(F返回N组件的数值梯度F,在那里F是与阵列N方面。

例子

___) =梯度(Fh用途h每个方向上点之间的均匀间距。您可以在前面的语法中指定任何输出参数。

例子

___) =梯度(Fhx沪元、……接下来的指定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 1 1 1

计算的2- d梯度 x e - x 2 - y 2 在一个网格。

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

绘制在相同的图中的轮廓线和载体。

图轮廓(x, y, z)箭袋(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 =罪(1:0.25:0.5);yp =梯度(y, 0.25);

使用函数值和在衍生物x = 0.5预测…的价值罪(0.5005)

Y_guess = y(end) + yp(end)*(0.5005 - 0.5)
y_guess = 0.4799

计算实际值进行比较。

y_actual = SIN(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)xlabel(“x”)ylabel(“y”) zlabel ('Z'

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

计算网格上的梯度。

[FX,FY] =梯度(F,0.2);

提取该点的梯度值(1、2).要做到这一点,首先要获取要处理的点的索引。然后,利用这些指标提取相应的梯度值外汇财政年度

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 ˆ

输入参数

全部折叠

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

数据类型:|
复数的支持:万博1manbetx是的

各方向上点之间的均匀间距,指定为标量。

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

数据类型:|
复数的支持:万博1manbetx是的

在每个方向上的点之间的间隔,规定为标量或向量的独立输入。输入的数量必须的阵列的维数匹配F.每个输入可以是标量或向量:

  • 标量指定一个常量该维度间距。

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

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

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

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

数据类型:|
复数的支持:万博1manbetx是的

输出参数

全部折叠

数值梯度,作为大小相同的数组返回F.第一输出外汇总是沿的第二尺寸的梯度F横过列。第二个输出财政年度梯度总是沿着的第一维吗F跨行去。对于第三输出FZ且输出随后,该N输出是沿着的梯度N第的尺寸F

更多关于

全部折叠

数值梯度

数值梯度是一种利用函数在某些点的已知值估计每个维的偏导数值的方法。

对于两个变量的函数,Fxy),梯度为

F F x + F y j

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

F F x + F y j + F z k + ... + F N n

提示

  • diff或自定义算法来计算多个数值的衍生物,而不是调用梯度很多次了。

算法

梯度计算中心差分对于内部数据点。例如,考虑具有单位间隔的数据的矩阵,一个,它有水平梯度G =梯度(一个).内部梯度值,G (:, j),都是

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

下标j之间变化2n - 1,N =大小(2)

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

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

如果指定的点间距,然后梯度缩放适当的差异。如果指定两个或多个输出端,则该函数还计算以类似的方式沿着其它尺寸的差异。不像diff函数,梯度返回与输入元素数目相同的数组。

扩展功能

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

另请参阅

|

R2006a前推出