2017-10-01 6 views
1
import matplotlib.pyplot as plt 
import matplotlib.pyplot as plt 

for i in range(0,100,10): 
    function = (1/2) + (2/3.14) * (sin(2*(i)+1)x)/(2*(i)+1) 
plt.plot(function) 

J'ai une fonction :fN(x) = (1/2) + (2/pi) * (sin[(2n+1)x])/(2n+1) et je dois tracer pour les valeurs defonction mathématique Plot f (x) avec différentes valeurs de x et pour différentes valeurs de n

n= 0, 10 ,20,...., 100. 

S'il vous plaît aider, je pas utilisé python depuis longtemps. merci.

.

+1

Indentation votre code –

+0

Où est 'x' défini ??? –

+0

une variable arbitraire comme dans sin (x) il peut aller de 0 à l'infini – Wanderer

Répondre

1

Vous avez besoin de x pour être défini précédemment comme une valeur flottante. Vous devez également importer la fonction sin(), corriger la syntaxe dans votre expression (vous avez besoin d'un symbole de multiplication devant x) et définir function pour qu'il s'agisse d'une liste ou d'un type de données similaire. J'ai également changé votre expression range alors 100 est inclus dans vos valeurs pour n et a supprimé l'importation redondante de pyplot.

Le code ci-dessous devrait faire ce que vous voulez.

import matplotlib.pyplot as plt 
from math import sin 


x = 1 

function = [(1/2) + (2/3.14) * (sin(2*i+1) * x)/(2*i+1) 
    for i in range(0, 101, 10)] 
plt.plot(function) 

Le graphique résultant, pour x=1, est

enter image description here

est nécessaire Un peu plus de travail si vous voulez que les valeurs de n à noter sur l'axe horizontal. Comme il est les chiffres indiqués sont les indices des valeurs dans la liste function. Pour afficher les valeurs de n remplacer la dernière ligne de mon code avec

ivals = list(range(0, 101, 10)) 
plt.plot(ivals, function) 

vous obtenez ce graphique:

enter image description here