Evaluating derivative using symbolic toolbox

24 views (last 30 days)
Hello all, I am trying to evaluate a derivative using the symbolic tool box.
I chose a simpler exquation to show, but if I can get this to work my code will work.
Here's the issue:
syms x
f_of_x = x^2 * sin(x)
der = diff(f_of_x)
der_2 = der(2)
As you can see I'm trying to evaluate the function @x = 2; but I'm getting the error "index exceeds number of array elements"
I checked the documentation and I literally abandoned my code, and wrote the example code direct from the documentation, still doesn't work.

Accepted Answer

Paul
Paul on 10 Feb 2022
Two ways to do this:
syms x
f_of_x = x^2 * sin(x);
der = diff(f_of_x,x) % I like to be explicit on the variable of differentiation
der = 
der_2 = subs(der,x,2)
der_2 = 
Or
f(x) = x^2 * sin(x);
der(x) = diff(f(x),x)
der(x) = 
der_2 = der(2)
der_2 = 
  2 Comments
Paul
Paul on 10 Feb 2022
"Thank you! For the second example does that work because of the parenthesis on f(x)?"
Yes. f_of_x and f(x) are different types of objects:
syms x
f_of_x = x^2 * sin(x);
f(x) = x^2 * sin(x);
whos
Name Size Bytes Class Attributes f 1x1 8 symfun f_of_x 1x1 8 sym x 1x1 8 sym
A symfun works very similarly to a mathemetical function. I think there was a thread here not too long ago that discussed differences between sym and symfun objects, but I can't find it.
WILLIAM WENGER
WILLIAM WENGER on 11 Feb 2022
I’ll look for another thread, or the documentation. Thanks!

Sign in to comment.

More Answers (1)

WILLIAM WENGER
WILLIAM WENGER on 10 Feb 2022
Thank you! For the second example does that work because of the parenthesis on f(x)?

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!