MATLAB 中的偏导数计算
偏导数是多变量函数中沿特定方向的导数。在 MATLAB 中,使用内置函数 `gradient` 可以轻松计算偏导数。
MATLAB 中的偏导数计算
MATLAB 中的偏导数计算
语法:
``` [grad_x, grad_y] = gradient(f, dx, dy) ```
其中:
`f` 是目标函数 `dx` 和 `dy` 是 x 和 y 方向的步长(默认为 1) `grad_x` 是沿 x 方向的偏导数 `grad_y` 是沿 y 方向的偏导数
示例:
计算函数 `f(x, y) = x^2 + y^2` 在点 (1, 2) 处的偏导数:
```matlab f = @(x, y) x.^2 + y.^2; [grad_x, grad_y] = gradient(f, 1, 1); grad_x_at_1_2 = grad_x(1, 2); grad_y_at_1_2 = grad_y(1, 2);
disp(['偏导数沿 x 方向:', num2str(grad_x_at_1_2)]); disp(['偏导数沿 y 方向:', num2str(grad_y_at_1_2)]); ```
输出:
``` 偏导数沿 x 方向:2 偏导数沿 y 方向:4 ```
注意事项:
`gradient` 函数返回一个包含沿所有输入维度的偏导数的矩阵。 对于具有更高维度的函数,`gradient` 函数将返回一个具有对应维度大小的矩阵。 `dx` 和 `dy` 定义了偏导数的数值近似度。较小的步长会导致更准确的结果,但计算成本更高。
其他计算偏导数的方法:
除了 `gradient` 函数,MATLAB 还提供了其他计算偏导数的方法:
符号求导:使用 `syms` 和 `diff` 函数进行符号求导。 数值求导:使用 `diff` 函数进行数值求导。 自动求导工具箱:MATLAB 提供了自动求导工具箱,它可以自动计算任意函数的偏导数。