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/