Grafico di una funzione

di il
7 risposte

Grafico di una funzione

Salve forum. Sto cercando di realizzare il grafico di una funzione su python. Volevo però farlo in modo che la funzione potesse esser presa in ingresso dalla tastiera. Il problema è che non so come convertire quella stringa in un intero e come sostituire alla x un valore. Se qualcuno ha qualche idea accetto tutto. Sono disponibile anche a mandare il codice  

7 Risposte

  • Re: Grafico di una funzione

    Fabio leggi questo

    https://realpython.com/python-eval-function/

  • Re: Grafico di una funzione

    Grazie, appena letto. Riscrivo il codice e ti aggiorno 

  • Re: Grafico di una funzione

    Sono arrivato circa a questo punto. Il sono problema è che non mi considera le funzioni seno, coseno, tangente e cotangente o comunque tutte le funzioni periodiche. Apertissimo a correzioni e suggerimenti. 

    Grazie per il momento 

    import numpy as np

    from matplotlib import pyplot as plt

    i=0

    f=100

    funzione=input("inserire la funzione\n\n")

    ##int(input("inserire la funzione "))

    for i in range (f):

        x=np.linspace (-(2*np.pi), +2*np.pi,100)

        y=eval(funzione)

    i=i+1

    plt.plot(x,y, marker=".", color="red")

    plt.show()

  • Re: Grafico di una funzione

    All'inizio

    from math import sin, cos, tan
  • Re: Grafico di una funzione

    Grazie mille. Appena riesco provo. Ti tengo aggiornato 

  • Re: Grafico di una funzione

    TypeError: only size-1 arrays can be converted to Python scalars

    Importando la libreria, come da lei consigliato, ed eseguenndop il codice, mi risulta questo errore. Girovagando un po' sul web ho scoperto che questo viene stampato quando cerchiamo di passare qualcosa in un metodo che accetta un solo parametro. Ho cercato un po' invano di risolverlo.

    Ti continuo a ringraziare

  • Re: Grafico di una funzione

    Devi per forza scrivere 

    np.sin(x)

    quando inserisci la stringa oppure aggiungi “np.” prima di ogni funzione nella stringa con del codice 

Devi accedere o registrarti per scrivere nel forum
7 risposte