在没有符号数学工具箱的情况下区分功能

时间:2015-05-04 10:20:54

标签: matlab diff symbolic-math

如果我想区分功能,我会做以下事情:

syms x
f(x) = sin(x^2);
df = diff(f)

,但这需要使用符号数学工具箱(用于syms功能)。 在没有使用符号工具箱的情况下,是否有解决方法(替代方法)?

2 个答案:

答案 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点以数字方式评估导数。