Trouble taking the differential of a function

1 Ansicht (letzte 30 Tage)
Raymond Elliott
Raymond Elliott am 23 Feb. 2021
Beantwortet: Star Strider am 23 Feb. 2021
I have the following code:
func =@(x) (((w_0*L)/(3*(pi^4)*E*I))*48*(L^3)*cos((pi*x)/(2*L))-48*(L^3)+(3*(pi^3)*L*(x^2))-((pi^3)*(x^3)));
dfunc = diff(func);
However, whenever I try to fun the code I get the following error, "Check for missing argument or incorrect argument data type in call to function 'diff'." What am I missing here?

Antworten (1)

Star Strider
Star Strider am 23 Feb. 2021
What am I missing here?
Most likely, using the Symbolic Math Toolbox.
Try this:
syms E I L w_0 x
func(x) = (((w_0*L)/(3*(pi^4)*E*I))*48*(L^3)*cos((pi*x)/(2*L))-48*(L^3)+(3*(pi^3)*L*(x^2))-((pi^3)*(x^3)));
dfunc = matlabFunction(simplify(diff(func,x), 500));
Note that ‘dfunc’ is now an anonymous function that can be used in numeric calculations outside of the Symbolic Math Toolbox.

Community Treasure Hunt

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

Start Hunting!

Translated by