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)
我有一个函数
:fN(x) = (1/2) + (2/pi) * (sin[(2n+1)x])/(2n+1)
,我需要将其绘制为值n= 0, 10 ,20,...., 100.
请帮助,我已经很长时间没有使用python了。
谢谢。
。
最佳答案
您需要先将x
定义为浮点值。您还需要导入sin()
函数,更正表达式中的语法(您需要在x
前面加一个乘号),然后定义function
,使其为列表或类似数据类型。我还更改了range
表达式,因此100
包含在n
的值中,并删除了pyplot
的多余导入。
下面的代码应做您想要的。
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)
对于
x=1
,结果图为如果要沿水平轴记录
n
的值,则需要做更多的工作。因为它是显示的数字,所以是function
列表中值的索引。要显示这些n
的值,请将我的代码的最后一行替换为ivals = list(range(0, 101, 10))
plt.plot(ivals, function)
然后您得到此图:
关于python - 用x的变化值和n的不同值绘制数学函数f(x),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46513843/