mファイルでの微分

7 vues (au cours des 30 derniers jours)
qrqr
qrqr le 29 Juin 2020
Simulinkで微分をするときはDerivativeブロックを使いますが、
mファイルで微分をするにはどのようなコードなのでしょうか?
宜しくお願い致します。

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 関数の基礎 dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!