mファイルでの微分

4 Ansichten (letzte 30 Tage)
qrqr
qrqr am 29 Jun. 2020
Simulinkで微分をするときはDerivativeブロックを使いますが、
mファイルで微分をするにはどのようなコードなのでしょうか?
宜しくお願い致します。

Akzeptierte Antwort

Shojiro SHIBAYAMA
Shojiro SHIBAYAMA am 29 Jun. 2020
Bearbeitet: Shojiro SHIBAYAMA am 29 Jun. 2020
関数の数値微分は、
と表わせますので、関数 fおよび入力の値xを引数に持つインライン関数などを定義すれば良いと思います。dxは十分小さい値を与えましょう。n階微分を定義するきれいな方法もあるはずですが割愛します。
以下に、2次関数を数値微分するサンプルコードを示します。
f=@(x)x.^2;% f(x)= x^2
% dxを0.0001として直書きした数値微分のインライン関数
dydx=@(f,x)(f(x+0.0001)-f(x))/0.0001;
dydx(f,0)% fとxを与える
%% 可視化してみる
xx=-10:0.1:10;
figure;
yyaxis left; plot(xx,f(xx));
yyaxis right;plot(xx, dydx(f,xx));
  2 Kommentare
qrqr
qrqr am 30 Jun. 2020
ありがとうございます。
cumtrapz のように決まった関数があるわけではないのですね。
Shojiro SHIBAYAMA
Shojiro SHIBAYAMA am 30 Jun. 2020
以下のリンクの29ページ目も参考になさってください。
よろしければ回答を採用していただけると嬉しいです!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 関数の基礎 finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!