如果我想创建一个计算函数导数的程序。
对于简单的情况,考虑我们的程序可以处理的可接受的函数只是多项式。
我的问题是:
- 使用 Python 设计这样的程序需要什么背景?
- 这个项目对于 Python 初学者来说会是一个困难的项目吗?
- Python 是一种合适的语言,可以用来设计这样的程序,还是用另一种语言更容易完成?
如果我想创建一个计算函数导数的程序。
对于简单的情况,考虑我们的程序可以处理的可接受的函数只是多项式。
我的问题是:
接受一个函数很容易......就像任何其他参数一样。
def example(somefunc):
somefunc()
example(someFunction)
example(lambda x: x ** 2)
退回一个有点棘手,但不多。
您可以返回一个 lambda:
def example2():
return lambda x: x + 1
或者你可以构建一个内部函数,然后返回它
def example3():
def rf(x):
return x + 2
return rf
myfunc = example3()
myfunc(2) #returns 4
math.sqrt(x) 不是(Python)函数,math.sqrt 是一个函数。注意缺失的 (x)。同样, 1/(2 * math.sqrt(x)) 不是函数,但 (lambda x: 1/(2 * math.sqrt(x))) 是函数。
问题是
a = lambda x: x
和
b = lambda x: x
将产生两个不同的 python 函数,从数学的角度来看它们是等效的。因此,测试函数是否相等并没有多大帮助。您需要实际“解析”它们才能找到数学导数。
解析内部定义是可能的,但甚至不是很简单。