Evaluating derivative using symbolic toolbox

27 次查看(过去 30 天)
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.

采纳的回答

Paul
Paul 2022-2-10
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 个评论
Paul
Paul 2022-2-10
"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 2022-2-11
I’ll look for another thread, or the documentation. Thanks!

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Symbolic Variables, Expressions, Functions, and Settings 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by