python - 绘制具有不同 x 值和不同 n 值的数学函数 f(x)

标签 python python-2.7 python-3.x math plot

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,结果图是

enter image description here

如果您希望沿水平轴记录 n 的值,则需要做更多的工作。因为它是显示的数字是 function 列表中值的索引。要显示 n 的这些值,请将代码的最后一行替换为

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

然后你会得到这个图表:

enter image description here

关于python - 绘制具有不同 x 值和不同 n 值的数学函数 f(x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46513843/

相关文章:

list - 将列表值枚举到字典列表中

Linux 中的 Python Pickle 文件与 Mac 不兼容?

python - matplotlib 和阶乘函数

python - os.system 无法调用文件名中带有左括号 '(' 的文件

python - 将存储在变量中的正则表达式与量词组合的正确语法是什么?

python 2.7 : Format a list within a list using for loops

python - mysql python 上的更新总是返回 0 作为lastrowid

python - 将 "pairs"的列表转换为字典的字典?

python - PyCharm 的调试器在点击 copy.deepcopy() 时放弃

python - win7下Pycharm无法使用ctrl+C