mファイルでの微分

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

Accepted Answer

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

Sign in to comment.

More Answers (0)

Categories

Find more on 関数の基礎 in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!