首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >派生后绘制函数的Python

派生后绘制函数的Python
EN

Stack Overflow用户
提问于 2021-01-12 00:47:34
回答 1查看 61关注 0票数 0

你能帮个忙吗。我们试图在派生后绘制一个函数,但收到了错误消息。

ValueError: x and y must have same first dimension, but have shapes (20,) and (1,)

我们认为问题在于该函数没有使用第二个函数中的值进行计算,因此无法精确定位问题。

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import sympy as sp
#from sympy import *

x = sp.symbols('x')
y_funktion = x**5-5*x**4-30*x**3+110*x**2+29*x-105

def funktionenErstellen(y_funktion):    
    y_funktion_ableitung = sp.diff(y_funktion, x)
    y_funktion_stammfunktion = sp.integrate(y_funktion, x)
    print('Funktion:', y_funktion)
    print('Ableitung:', y_funktion_ableitung)
    return [y_funktion_ableitung, y_funktion_stammfunktion]
    

def plotFunktionen(funktion):
    x = np.arange(-10, 10, 1.0)  
    plt.xlim(-7.5, 9)
    plt.ylim(-900,900)
    plt.grid()
    # Plot the points using matplotlib
    plt.xlabel('X-Achse')
    plt.ylabel('Y-Achse')
    print('funktion:',  funktion)
    plt.plot(x, funktion, color = "r", label = 'Funktion')
    #plt.plot(x, y_funktion_ableitung, color = "g", label = 'Ableitung')
    #plt.plot(x, y_funktion_stammfunktion, color = "b", label = 'Stammfunktion')
    plt.legend()

[y_funktion_ableitung, y_funktion_stammfunktion] = funktionenErstellen(y_funktion)

plotFunktionen(y_funktion)
plotFunktionen(y_funktion_ableitung)
plotFunktionen(y_funktion_stammfunktion)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-12 03:15:57

感谢您的回答@Guimoute和@JohanC我们设法让它运行起来。

代码语言:javascript
复制
import matplotlib.pyplot as plt
import sympy as sp
x = sp.symbols('x')
y_funktion = x**5-5*x**4-30*x**3+110*x**2+29*x-105
def funktionenErstellen(y_funktion):    
    y_funktion_ableitung = sp.diff(y_funktion, x)
    y_funktion_stammfunktion = sp.integrate(y_funktion, x)
    print('Funktion:\t\t', y_funktion)
    print('Ableitung:\t\t', y_funktion_ableitung)
    print('Stammfunktion:\t', y_funktion_stammfunktion)
    return [y_funktion_ableitung, y_funktion_stammfunktion]
    
def plotFunktionen(funktion, typ, color):
    
    x_wert = np.arange(-10, 10, 0.2)
    f = sp.lambdify(x, funktion)
    f = f(x_wert)
    plt.xlim(-7.5, 9)
    plt.ylim(-900,900)
    plt.grid()
    
    # Plot the points using matplotlib
    plt.xlabel('X-Achse')
    plt.ylabel('Y-Achse')
    plt.plot(x_wert, f, color = color, label = typ)

[y_funktion_ableitung, y_funktion_stammfunktion] = funktionenErstellen(y_funktion)
plotFunktionen(y_funktion, 'Funktion', 'r')
plotFunktionen(y_funktion_ableitung, 'Ableitung', 'g')
plotFunktionen(y_funktion_stammfunktion, 'Stammfunktion', 'b')
plt.legend()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65671085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档