mファイルでの微分

8 visualizzazioni (ultimi 30 giorni)
qrqr
qrqr il 29 Giu 2020
Simulinkで微分をするときはDerivativeブロックを使いますが、
mファイルで微分をするにはどのようなコードなのでしょうか?
宜しくお願い致します。

Risposta accettata

Shojiro SHIBAYAMA
Shojiro SHIBAYAMA il 29 Giu 2020
Modificato: Shojiro SHIBAYAMA il 29 Giu 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 Commenti
qrqr
qrqr il 30 Giu 2020
ありがとうございます。
cumtrapz のように決まった関数があるわけではないのですね。
Shojiro SHIBAYAMA
Shojiro SHIBAYAMA il 30 Giu 2020
以下のリンクの29ページ目も参考になさってください。
よろしければ回答を採用していただけると嬉しいです!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 関数の基礎 in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!