如何在Sympy中“更新”绘图?

问题描述

我正在尝试使用sympy绘制函数的迭代,但是我不能在每次迭代中都刷新图。我该怎么做?感谢您的帮助。

from sympy import *
from sympy.plotting import plot
import matplotlib.pyplot as plt
x = Symbol('x')
t = Symbol('t')

x_0 = exp(t)
ut = 1
mu = -1
ker = x-t

for i in range(1,20):
    x_0 = ut + mu * integrate(ker * x_0,(t,x))
    print(i,x_0)
    p1 = plot(x_0,(x,-1,1))

解决方法

append类的sympy.plotting.plot.Plot方法的documentation获取的两个不同图的示例:

p1 = plot(x*x,show=False)
p2 = plot(x,show=False)
p1.append(p2[0])
p1.show()

请注意,p1p2sympy.plotting.plot.Plot类的实例。 append方法将地块系列中的一个元素添加到现有地块中,最后可以在此地块上调用show来显示其中的一些元素。我现在可以根据您的情况修改此示例。请注意,我创建了一个plot实例,该实例开始时没有情节系列的元素:

p = plot(show=False)
for i in range(1,20):
    x_0 = ut + mu * integrate(ker * x_0,(t,x))
    print(i,x_0)
    p.append(plot(x_0,(x,-1,1),show=False)[0])
p.show()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...