如何在没有 sympy 的情况下使用 python 找到符号导数?
How to find symbolic derivative using python without sympy?
我需要编写一个程序来区分一个函数,但我不知道该怎么做。我只制作了将正则表达式(例如 x ^ 2 + 2)转换为反向波兰符号的部分。谁能帮我创建一个程序,用 + * / - ^
找到表达式的符号导数
提示:使用递归例程。如果运算是一元加号或减号,则保留加号或减号并继续操作数。 (这意味着,递归地调用操作数的导数例程。)如果操作是加法或减法,则保留加号或减号并递归地找到每个操作数的导数。如果运算是乘法,则使用乘积规则。如果运算是除法,则使用商法则。如果运算是求幂,则使用广义幂规则。 (你知道 u ^ v
的那个规则吗?大多数一年级微积分书都没有给出这个规则,但是使用对数微分很容易找到。)(现在你已经在评论中澄清了没有变量在指数中,您可以使用常规幂规则 (u^n)' = n * u^(n-1) * u'
,其中 n
是常数。)在递归的基础上,x
的导数是 1
并且常数的导数为零。
这样的算法的结果将是非常不简化的,但它会满足您规定的要求。由于此算法先查看操作,然后再查看操作数,因此使用波兰语表示法的表达式可能比反向波兰语或 "regular expression." 更简单,但您仍然可以对这些形式的表达式执行此操作。
如果您需要更多详细信息,请向我们展示您的更多作品。
我需要编写一个程序来区分一个函数,但我不知道该怎么做。我只制作了将正则表达式(例如 x ^ 2 + 2)转换为反向波兰符号的部分。谁能帮我创建一个程序,用 + * / - ^
找到表达式的符号导数提示:使用递归例程。如果运算是一元加号或减号,则保留加号或减号并继续操作数。 (这意味着,递归地调用操作数的导数例程。)如果操作是加法或减法,则保留加号或减号并递归地找到每个操作数的导数。如果运算是乘法,则使用乘积规则。如果运算是除法,则使用商法则。如果运算是求幂,则使用广义幂规则。 (你知道 u ^ v
的那个规则吗?大多数一年级微积分书都没有给出这个规则,但是使用对数微分很容易找到。)(现在你已经在评论中澄清了没有变量在指数中,您可以使用常规幂规则 (u^n)' = n * u^(n-1) * u'
,其中 n
是常数。)在递归的基础上,x
的导数是 1
并且常数的导数为零。
这样的算法的结果将是非常不简化的,但它会满足您规定的要求。由于此算法先查看操作,然后再查看操作数,因此使用波兰语表示法的表达式可能比反向波兰语或 "regular expression." 更简单,但您仍然可以对这些形式的表达式执行此操作。
如果您需要更多详细信息,请向我们展示您的更多作品。