需要以小时为单位绘制余弦函数,而以秒为单位计算

2024-04-19 07:03:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用matplotlib绘制以下函数,但遇到了一个以前没有处理过的问题。你知道吗

函数:F0*cos((pi*(t-12))/12),其中t是0到86400秒。你知道吗

我需要每秒钟计算一次这个函数,不仅是为了精确,而且因为cos所代表的函数是以瓦特/平方米为单位的。你知道吗

我试图绘制这个函数,但只希望x轴是0到24小时,而不是0到86400秒,这样绘图就不会变成这样:

enter image description here

这是我的密码,提前谢谢!你知道吗

import numpy as np
import matplotlib.pyplot as plt

ax = plt.subplot(111)
F0 = 500.0

t = np.arange(0, 86400, 1)
s = F0*(np.cos((np.pi*(t-12))/12))
line, = plt.plot(t, s, lw=1)

plt.show()

Tags: 函数import绘图matplotlibasnppi绘制
1条回答
网友
1楼 · 发布于 2024-04-19 07:03:23

在计算s之前,您需要将时间从秒转换为小时,方法是将t除以3600。如果在计算s之后对它们进行转换,将无法得到所需的绘图。所以你应该用

import numpy as np
import matplotlib.pyplot as plt

ax = plt.subplot(111)
F0 = 500.0

t = np.arange(0, 86400, 1)/3600
s = F0*(np.cos((np.pi*(t-12))/12))
line, = plt.plot(t, s)

enter image description here

p.S不要执行以下操作,因为这里使用秒来计算s,然后以小时来绘制时间,这将在x轴上给出不正确的缩放比例

t = np.arange(0, 86400, 1)
s = F0*(np.cos((np.pi*(t-12))/12))
line, = plt.plot(t/3600, s)

相关问题 更多 >