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 はこれら 2 つの入力値に対して誤った答えを返すのでしょうか?
誰かが私にこれを説明できるなら、私はそれを大いに感謝します!