如何在没有同情的情况下使用python找到符号导数?

时间:2018-05-19 10:36:51

标签: python math

我需要制作一个能够区分功能的程序,但我不知道如何做到这一点。我只创建了一个将正则表达式(例如x ^ 2 + 2)转换为反向抛光表示法的部分。任何人都可以帮我创建一个程序,用+ * / - ^

找到表达式的符号衍生物

1 个答案:

答案 0 :(得分:1)

提示:使用递归例程。如果操作是一元加或减,则单独留下加号或减号并继续操作数。 (这意味着,在操作数上递归调用派生例程。)如果一个操作是加法或减法,只留下加号或减号,并递归地找到每个操作数的导数。如果操作是乘法,请使用产品规则。如果操作是除法,请使用商规则。如果操作是取幂,则使用广义幂规则。 (你知道(u^n)' = n * u^(n-1) * u'这个规则吗?大多数第一年的微积分书都没有给出它,但很容易用对数微分来找到它。)(现在你已在评论中澄清说没有变量在指数中,您可以使用常规幂规则n,其中x是常量。)在递归的基础上,1的导数为{{1}}并且常数的导数为零。

这种算法的结果非常简单,但它符合您的要求。由于该算法查看操作然后查看操作数,使用波兰表示法表达式可能比反向波兰语或“正则表达式”更简单。但你仍然可以用这些形式表达。

如果您需要更多详细信息,请向我们展示您的更多工作。