Python通过集成绘制函数

时间:2019-02-25 23:43:37

标签: python plot integration

这是我正在使用的代码:


import matplotlib.pyplot as plt

from scipy import integrate

import numpy as np


def g(t):


    g_value= integrate.quad (t,0,t)


    return (g_value)



def f(t):

    f_value = t**3 - g(t)

    return (f_value)


t1 = np.arange (-5, 5, 0.1)

plt.figure(1)

plt.subplot(211)

plt.plot(t1, f(t1))

plt.show()

在这里,这是我收到的错误消息: “ ValueError:具有多个元素的数组的真值不明确。请使用a.any()或a.all()”

1 个答案:

答案 0 :(得分:0)

不进行广播就可以这样做。

import numpy as np


def g(t):
    g_value= integrate.quad (lambda t: t, 0, t)
    return (g_value)

def f(t):
    f_value = t**3 - g(t)
    return (f_value)

t1 = np.arange (-5, 5, 0.1)
ft1 = []
for tt in t1:
    ft1.append(f(tt)[0])

plt.figure(1)
plt.subplot(211)
plt.plot(t1, ft1)
plt.show()

向量化版本可以像这样(mentioned here)

import numpy as np
def g(t):
    g_value= integrate.quad (lambda t: t ,0,t)
    return (g_value)

g_vectorized = np.vectorize(g)

def f(t):
    f_value = t**3 - g_vectorized(t)
    return (f_value)

t1 = np.arange (-5, 5, 0.1)

plt.figure(1)
plt.subplot(211)
plt.plot(t1, f(t1)[0])
plt.show()

两者都导致

enter image description here