三角函数的python图

8fsztsew  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(323)

我需要绘制这个函数c(t)=(e^(-10t^2))cos(2pi50t)(u(t+3)-u(t-3))。我不明白我怎么能做到。我已经定义了三角函数的变量,但我不知道如何处理另一个函数。这就是我所拥有的:

import matplotlib.pyplot as plt
import numpy as np

t= np.arange(0,0.5,0.001)
A= np.exp(-10*(t**2))
f=50

c1 = A * np.cos(2 * np.pi * f * t)
c2 = (u(t+3)-u(t-3))
2w3rbyxf

2w3rbyxf1#

假设 u 是标识函数(按原样返回输入),这是绘制函数所需的代码。我使用了你的变量定义和 t 作为灵活性功能的输入:

def u(x):
    return x

def function_c(t):
    A= np.exp(-10*(t**2))
    f=50

    c1 = np.cos(2 * np.pi * f * t)
    c2 = (u(t+3) - u(t-3))
    return A * c1 * c2

t= np.arange(0,0.5,0.001)
plt.plot(t, function_c(t))


当然,如果你知道 u ,可以更新 u(x) 重新计算你的情节。

mo49yndu

mo49yndu2#

如果 u (当前代码中未定义)是一个常量,那么您只需要以下内容:

import numpy as np

t = np.arange(0,0.5,0.001)

A= np.exp(-10*(t**2))
f=50
u=1

c1 = A * np.cos(2 * np.pi * f * t)
c2 = (u*(t+3)-u*(t-3))

ct = c1 * c2

myplot = plt.plot(t, ct)

不过,我想 u 实际上是一个函数。在这种情况下,你需要首先定义 u 是。你可以这样做我的扩展 c2 或者您可以定义一个python函数 u(t) 它接收一个numpy数组 t 并返回一个大小相同且经过适当修改的数组。
然后可以使用这个函数,传入 t+3 以及 t-3 ,表示窗体 c2 .
在python中使用python函数表示数学函数是处理数字的一种更简洁的方法。经过一些重构后,您的代码可能看起来像这样:

import matplotlib.pyplot as plt
import numpy as np

def u(x):
    # do something to the input array 'x' here
    return x

def c(x):
    f=50
    A = np.exp(-10*(x**2))
    c1 = A * np.cos(2 * np.pi * f * x)
    c2 = (u(x+3)-u(x-3))
    return c1 * c2    

t = np.arange(0,0.5,0.001)

myplot = plt.plot(t, c(t))

相关问题