how to calculate a derivative

1.071 Ansichten (letzte 30 Tage)
Nasir Qazi
Nasir Qazi am 26 Feb. 2012
Kommentiert: Sergio E. Obando am 15 Jun. 2024
can some one guide me how to calculate a derivative and integration in matlab . can you please give a little example.
  1 Kommentar
Jan
Jan am 26 Feb. 2012
Symbolically or numerically?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

bym
bym am 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 Kommentare
Jan
Jan am 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 am 15 Jun. 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:

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

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

Hamza saeed khan
Hamza saeed khan am 24 Nov. 2020
syms x
f = x;
diff(f,x)
why this code give me error as;
>>Error in diff (line 1)
syms x
  2 Kommentare
Dheeresh agarwal
Dheeresh agarwal am 22 Dez. 2020
diff(f,1)
Walter Roberson
Walter Roberson am 22 Dez. 2020
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.

Melden Sie sich an, um zu kommentieren.


Achimsettythanmay
Achimsettythanmay am 14 Nov. 2022
Bearbeitet: Walter Roberson am 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