how to calculate a derivative

456 visualizzazioni (ultimi 30 giorni)
Nasir Qazi
Nasir Qazi il 26 Feb 2012
Commentato: Steven Lord il 12 Mag 2025
can some one guide me how to calculate a derivative and integration in matlab . can you please give a little example.

Risposta accettata

bym
bym il 26 Feb 2012
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 Commenti
Jan
Jan il 27 Feb 2012
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 il 15 Giu 2024
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:

Accedi per commentare.

Più risposte (3)

Magdalena Glinska
Magdalena Glinska il 16 Nov 2020
f = @(x) sin(x);
second_derivative_f = matlabFunction(diff(sym(f)));

Hamza saeed khan
Hamza saeed khan il 24 Nov 2020
syms x
f = x;
diff(f,x)
why this code give me error as;
>>Error in diff (line 1)
syms x
  4 Commenti
belvia
belvia il 12 Mag 2025

même chez moi le diff là ne donne pas

Steven Lord
Steven Lord il 12 Mag 2025
"même chez moi le diff là ne donne pas"
Please show us the exact code you're running and all the text displayed in red in the Command Window (and if there are any warning messages displayed in orange, please show us those too) that you see when you run that code. The exact text may be useful and/or necessary to determine what's going on and how to avoid the warning and/or error.

Accedi per commentare.


Achimsettythanmay
Achimsettythanmay il 14 Nov 2022
Modificato: Walter Roberson il 15 Nov 2022
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