0

プログラミングの演習として、有限差分法を使用して関数の導関数を見つける Matlab 関数を作成しました。スクリプトで関数を呼び出し、組み込み関数を使用してチェックしたいのですが、これを実装するのに問題があります。

チェックを取得するために、diff(eqn) を使用して微分方程式を取得しますが、この方程式を使用して特定の値を解く方法がわかりません。x = 2。

これが私のコードです:

syms x

eqn= cos(x);

%set value for the derivative to be evaluated at
x2 = 2; 

%create function handle
f = @(x) cos(x); 

%call finite difference function
yderiv = derivative(f,x2) 

%use built-in to get differentiated function
ycheck = diff(eqn) 

出力で:

yderiv = -0.9093

ycheck =
-sin(x)

x2 で ycheck を解決する方法、または使用する別のアプローチについてのヘルプをいただければ幸いです。

乾杯 :)

4

1 に答える 1

-2

有限差分を使用して導関数を計算するために、使用しているシンボリック式は必要ありません。

必要がある:

  1. たとえば、デルタを選択しますdx = 0.01
  2. 範囲を選択します。x = [0, 2*pi] としましょう。その範囲の変数を作成しますx = 0:dx:2*pi
  3. 次のような関数を評価しますy = cos(x)
  4. diff機能を使用する
  5. で割りますdx
  6. プロット

残り (x = 2 での y の導関数の値の取得) は、これらの手順を実行すると明確になります。

于 2014-08-09T13:45:50.197 に答える