Simulinkで微分をするときはDerivativeブロックを使いますが、
mファイルで微分をするにはどのようなコードなのでしょうか?
宜しくお願い致します。

 채택된 답변

Shojiro SHIBAYAMA
Shojiro SHIBAYAMA 2020년 6월 29일
편집: Shojiro SHIBAYAMA 2020년 6월 29일

1 개 추천

関数の数値微分は、
と表わせますので、関数 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개)

카테고리

도움말 센터 및 File Exchange에서 関数の基礎에 대해 자세히 알아보기

제품

릴리스

R2019a

질문:

2020년 6월 29일

댓글:

2020년 6월 30일

Community Treasure Hunt

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

Start Hunting!