微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matplotlib 为 Exp[x] 绘制直线

如何解决Matplotlib 为 Exp[x] 绘制直线

如果我删除函数problem2,它会正确绘图,我需要打印它们,但是无论何时完成,Exp[x] 都会打印为一条直线。我已经打印了 f(x) 以查看它是否获得了正确的值,并且它确实获得了正确的值。问题 2 是一个微分方程。我已经用odeint解决了,f(x)是书中给出的Problem2的答案,我想把它们都绘制在一起,看看python给出的解决方案是否正确。问题 20 = 10 是我随机取的一个初始值(它是否也是错误的来源,我看不出是怎么回事)。

import numpy as np
import scipy.integrate as sciint
import matplotlib.pyplot as plt


def problem2(y,x):
    return x + x * y


def f(x):
    return np.exp(x)


if __name__ == '__main__':
    x = np.linspace(0,5,50)
    problem20 = 10
    sol = sciint.odeint(problem2,problem20,x)
    plt.plot(x,sol,label="Calculated")
    print(f(x))
    plt.plot(x,f(x),label="Given in book")
    plt.legend()
    plt.show()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。