필터 지우기
필터 지우기

mファイルでの微分

조회 수: 11 (최근 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 CenterFile Exchange에서 関数の基礎에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!