Trouble taking the differential of a function
1 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(1 个)
Star Strider
2021-2-23
‘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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!