如果我想区分功能,我会做以下事情:
syms x
f(x) = sin(x^2);
df = diff(f)
,但这需要使用符号数学工具箱(用于syms
功能)。
在没有使用符号工具箱的情况下,是否有解决方法(替代方法)?
答案 0 :(得分:1)
如果你有一个数字向量,并且你想区分它,那么gradient
函数就是你的朋友。
如果要区分符号表达,那么符号数学工具箱是在Matlab中实现的唯一方法。如果笔和纸与wolframalpha.com一起不能为您服务,则无法购买工具箱或使用Wolframs Mathematica,Maple,Maxima,Sympy,Sage等替代品。
答案 1 :(得分:1)
https://www.mathworks.com/matlabcentral/fileexchange/59438-symbolic-derivatives
在上面的链接中,你会发现一个需要字符串' sin(x ^ 2)'作为输入,给你一些像cos(x ^ 2)* 2 * x' (即也是一个字符串)。然后,您可以使用标准Matlab的eval()在任何x点以数字方式评估导数。