如题,今天来探讨一下写程序求导遇到的坑。

在用屁眼通红python之前,我尝试了

  • C
  • php
  • Maxima Batch

一波下来,
C 没有轮子,得自己从0开始,麻烦;
Maxima倒是有php的lib,但是它是在Windows下的,垃圾;
Maxima Batch 为什么它不开新行啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

结果在被 Maxima Batch 折磨得要砸鼠标的时候,看到了………………

Just Use Python

emmmmmmmmm
之前我已经说过了,我是不会用py的!
【真香

好吧好吧
有人可以送我一个游标卡尺吗?

python下求导,可以利用sympy
至于sympy是什么,自己上网查询去
若没有安装sympy函式库,先 pip install sympy 来安装这个函式库
然后我们就可以开始干活了。

利用sympy求导,求导的函式是 diff()
如果我们要对sin(x)求导,则应该输入 diff(sin(x),x)

代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sympy import *
x=Symbol("x")
print diff(sin(x),x)

运行输出↓

[youon@CentOS ~]$ python diff.py
cos(x)

这就是正确输出了,
接下来我们加点料,让它看起来更像一个正经的脚本

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sympy import *
x=Symbol("x")
total = input("请问您今天想求sin(x)的几阶?")
count =2
qwq = diff(sin(x),x)
print "1",qwq
while count <= total :
 qwq = diff(qwq,x)
 print count,qwq
 count = count +1

比如我们想求sin(x)的12阶,运行就输入12

[youon@CentOS ~]$ python diff.py
请问您今天想求sin(x)的几阶?12
1 cos(x)
2 -sin(x)
3 -cos(x)
4 sin(x)
5 cos(x)
6 -sin(x)
7 -cos(x)
8 sin(x)
9 cos(x)
10 -sin(x)
11 -cos(x)
12 sin(x)

完全一致!

标签: none

添加新评论