mファイルでの微分

4 ビュー (過去 30 日間)
qrqr
qrqr 2020 年 6 月 29 日
コメント済み: Shojiro SHIBAYAMA 2020 年 6 月 30 日
Simulinkで微分をするときはDerivativeブロックを使いますが、
mファイルで微分をするにはどのようなコードなのでしょうか?
宜しくお願い致します。

採用された回答

Shojiro SHIBAYAMA
Shojiro SHIBAYAMA 2020 年 6 月 29 日
編集済み: Shojiro SHIBAYAMA 2020 年 6 月 29 日
関数の数値微分は、
と表わせますので、関数 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 件のコメント
qrqr
qrqr 2020 年 6 月 30 日
ありがとうございます。
cumtrapz のように決まった関数があるわけではないのですね。
Shojiro SHIBAYAMA
Shojiro SHIBAYAMA 2020 年 6 月 30 日
以下のリンクの29ページ目も参考になさってください。
よろしければ回答を採用していただけると嬉しいです!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange関数の基礎 についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!