Python / Matplotlib-如何在不进行硬编码的情况下计算/绘制导数?

петер.петров

我在这里绘制一个著名的函数及其派生函数。
著名的函数是伯努利不等式引起
我想知道是否存在某种无需“硬编码”即可计算导数的方法,
即仅使用某些库并调用derivative(f)或类似方法即可。

import numpy as np
import matplotlib.pyplot as plt

# a,b - the two ends of our interval

a = -2.2
b = +0.25
n = 10

# function f(t) = (1+t)^n - n*t - 1
def f(t):
    '''
    s = 1
    for i in range(n):
        s = s * (1 + 1 * t)
    return s - n * t - 1
    '''
    return np.power(1 + t, n) - n * t - 1

# derivative f'(t) = n*(1+t)^(n-1) - n
def f1(t):
    '''
    s = 1
    for i in range(n-1):
        s = s * (1 + 1 * t)
    return n * s - n
    '''
    return n * np.power(1 + t, n-1) - n

t = np.linspace(a, b, 4000)
g = f(t)
g1 = f1(t)

plt.plot(t, g, 'r') # plotting t, g separately 
plt.plot(t, g1, 'g') # plotting t, g1 separately

plt.axhline(0, color='k')
plt.axvline(0, color='k')

print("=====================")
print(f(-2))
print(f(-1.5))
print(f(-1))
print(f(-0.5))
print(f(0))

print("=====================")
print(f1(-2))
print(f1(-1.5))
print(f1(-1))
print(f1(-0.5))
print(f1(0))

plt.grid()
plt.show()

图_3

约翰·C

您可以使用sympy来象征性地计算导数。如果您有一个很好的数学表达式,则它比数值方法的准确性更高。

Sympy有其自己的绘图功能,但是如果您要组合许多元素,它们可能会很麻烦。在这些情况下,使用lambdify将它们转换为numpy函数会更容易

from sympy import Pow, lambdify
from sympy.abc import t, n

f = Pow(1 + t, n) - n * t - 1
f1 = f.diff(t)  # result: -n + n*(t + 1)**n/(t + 1)

f_np = lambdify(t, f.subs(n, 10))
f1_np = lambdify(t, f1.subs(n, 10))

import numpy as np
from matplotlib import pyplot as plt

a = -2.2
b = +0.25
x = np.linspace(a, b, 1000)

plt.plot(x, f_np(x), 'r')
plt.plot(x, f1_np(x), 'g')

plt.axhline(0, color='k')
plt.axvline(0, color='k')
plt.show()

样例

PS:纯粹停留在sympy范围内,绘制可能会发生以下情况:

from sympy import Pow, plot
from sympy.abc import t, n

a = -2.2
b = +0.25
f = Pow(1 + t, n) - n * t - 1
f1 = f.diff(t)
p1 = plot(f.subs(n, 10), (t, a, b), line_color='r', show=False)
p2 = plot(f1.subs(n, 10), (t, a, b), line_color='g', show=False)
p1.append(p2[0])
p1.show()

对称图

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Matplotlib-如何在不调整热图大小的情况下移动颜色栏?

来自分类Dev

使用matplotlib绘制导数,但情节混乱

来自分类Dev

如何在不显示matplotlib图的情况下进行鼻子测试?

来自分类Dev

Python:Matplotlib避免绘制间隙

来自分类Dev

计算Python中向量字段的卷曲并使用matplotlib进行绘制

来自分类Dev

如何在不进行硬编码的情况下获取方法名?

来自分类Dev

如何使用matplotlib / python绘制ROC曲线

来自分类Dev

在不进行硬编码的情况下计算“ t”时间段的累计计数

来自分类Dev

Python并绘制直方图(使用matplotlib)

来自分类Dev

如何在不进行硬编码的情况下删除文件夹上的所有拒绝权限?

来自分类Dev

python matplotlib:如何在仅知道x值的情况下向曲线添加点标记?

来自分类Dev

如何在不进行硬编码的情况下获取C ++中类数组的长度?

来自分类Dev

如何在不进行硬编码的情况下使用多个discord bot帐户登录?

来自分类Dev

如何在不更改图形尺寸的情况下将坐标轴放置在图形中?[Python,matplotlib]

来自分类Dev

Python Matplotlib如何在同一图中绘制多个图形

来自分类Dev

Python / Matplotlib /绘制函数

来自分类Dev

如何在不计算Python时间数据列的情况下绘制时间序列

来自分类Dev

如何在matplotlib(python)中标记行?

来自分类Dev

Python Matplotlib-如何在不调整热图大小的情况下移动颜色栏?

来自分类Dev

如何使用Matplotlib Python绘制时间序列

来自分类Dev

使用matplotlib绘制导数,但情节混乱

来自分类Dev

如何在不显示matplotlib图的情况下进行鼻子测试?

来自分类Dev

Matplotlib:如何在不循环的情况下绘制有色点?

来自分类Dev

Python和Matplotlib:如何绘制椭圆?

来自分类Dev

如何使用matplotlib / python绘制ROC曲线

来自分类Dev

Python-Tripcolor情况下的matplotlib子图

来自分类Dev

在不进行硬编码的情况下计算“ t”时间段的累计计数

来自分类Dev

如何在不导入外部模块(matplotlib除外)的情况下绘制运行平均值?

来自分类Dev

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

Related 相关文章

  1. 1

    Python Matplotlib-如何在不调整热图大小的情况下移动颜色栏?

  2. 2

    使用matplotlib绘制导数,但情节混乱

  3. 3

    如何在不显示matplotlib图的情况下进行鼻子测试?

  4. 4

    Python:Matplotlib避免绘制间隙

  5. 5

    计算Python中向量字段的卷曲并使用matplotlib进行绘制

  6. 6

    如何在不进行硬编码的情况下获取方法名?

  7. 7

    如何使用matplotlib / python绘制ROC曲线

  8. 8

    在不进行硬编码的情况下计算“ t”时间段的累计计数

  9. 9

    Python并绘制直方图(使用matplotlib)

  10. 10

    如何在不进行硬编码的情况下删除文件夹上的所有拒绝权限?

  11. 11

    python matplotlib:如何在仅知道x值的情况下向曲线添加点标记?

  12. 12

    如何在不进行硬编码的情况下获取C ++中类数组的长度?

  13. 13

    如何在不进行硬编码的情况下使用多个discord bot帐户登录?

  14. 14

    如何在不更改图形尺寸的情况下将坐标轴放置在图形中?[Python,matplotlib]

  15. 15

    Python Matplotlib如何在同一图中绘制多个图形

  16. 16

    Python / Matplotlib /绘制函数

  17. 17

    如何在不计算Python时间数据列的情况下绘制时间序列

  18. 18

    如何在matplotlib(python)中标记行?

  19. 19

    Python Matplotlib-如何在不调整热图大小的情况下移动颜色栏?

  20. 20

    如何使用Matplotlib Python绘制时间序列

  21. 21

    使用matplotlib绘制导数,但情节混乱

  22. 22

    如何在不显示matplotlib图的情况下进行鼻子测试?

  23. 23

    Matplotlib:如何在不循环的情况下绘制有色点?

  24. 24

    Python和Matplotlib:如何绘制椭圆?

  25. 25

    如何使用matplotlib / python绘制ROC曲线

  26. 26

    Python-Tripcolor情况下的matplotlib子图

  27. 27

    在不进行硬编码的情况下计算“ t”时间段的累计计数

  28. 28

    如何在不导入外部模块(matplotlib除外)的情况下绘制运行平均值?

  29. 29

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

热门标签

归档