我正在尝试学习 MatLab 中的各种功能和命令。我有一个关于gradient
命令的问题。
假设我定义以下内容:
x = 0:1:10;
f = @(x) x.^2 + 2*x -1;
h = gradient(f(x))
这给了我以下向量:
h = 3 4 6 8 10 12 14 16 18 20 21
我看到当 x 介于 1 和 9 之间时值是正确的,但是对于 x = 0 和 x = 10 这是不正确的。当 x = 0 时,梯度应该是 2,当 x = 10 时,梯度应该是 22 . 那么为什么MatLab对这两个输入值给出了错误的答案呢?
如果有人可以向我解释这一点,我将不胜感激!