フィルターのクリア

how to calculate a derivative

508 ビュー (過去 30 日間)
Nasir Qazi
Nasir Qazi 2012 年 2 月 26 日
コメント済み: Sergio E. Obando 2024 年 6 月 15 日
can some one guide me how to calculate a derivative and integration in matlab . can you please give a little example.
  1 件のコメント
Jan
Jan 2012 年 2 月 26 日
Symbolically or numerically?

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

採用された回答

bym
bym 2012 年 2 月 26 日
Symbolically
syms x real
f = 1/x
int(f,1,2) % integration
ans =
log(2)
diff(f) %differentiation
ans =
-1/x^2
[edit - amplification]
syms x a b real positive
f = 1/x
f =
1/x
int(f) % without limits
ans =
log(x)
int(f,a,b) % with limits
ans =
log(b) - log(a)
fn = matlabFunction(f) % convert symbolic to anonymous function
fn =
@(x)1./x
quadgk(fn,1,2) % integrate numerically
ans =
0.6931
log(2) % previous result from symbolic integration
ans =
0.6931
(fn(2+1e-6)-fn(2))/1e-6 %numerical derivative at fn(2)
ans =
-0.2500
subs(diff(f),2) %substitute 2 into symbolic result previously obtained
ans =
-0.2500
  5 件のコメント
Jan
Jan 2012 年 2 月 27 日
Yes, Nasir, then the integral is calculated from 1 to 2. "Symbolically" mean calculations with symbols, usually characters. The result is a formula. "Numerically" means, that you calculate a numerical value, a number.
Sergio E. Obando
Sergio E. Obando 2024 年 6 月 15 日
Just here to suggest some recent resources, There is a nice section in the Symbolic Math Toolbox with additional examples for differentiation as well as a FEX curriculum on this topic:

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

その他の回答 (3 件)

Magdalena Glinska
Magdalena Glinska 2020 年 11 月 16 日
f = @(x) sin(x);
second_derivative_f = matlabFunction(diff(sym(f)));

Hamza saeed khan
Hamza saeed khan 2020 年 11 月 24 日
syms x
f = x;
diff(f,x)
why this code give me error as;
>>Error in diff (line 1)
syms x
  2 件のコメント
Dheeresh agarwal
Dheeresh agarwal 2020 年 12 月 22 日
diff(f,1)
Walter Roberson
Walter Roberson 2020 年 12 月 22 日
You probably do not have the symbolic toolbox installed or licensed.
Also, you accidentally named your script diff.m which is going to conflict with calling diff() to differentiate.

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


Achimsettythanmay
Achimsettythanmay 2022 年 11 月 14 日
編集済み: Walter Roberson 2022 年 11 月 15 日
syms x real
f = 1/x
f = 
int(f,1,2) % integration
ans = 
diff(f) %differentiation
ans = 

Community Treasure Hunt

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

Start Hunting!

Translated by