【问题标题】:Rectangular Pulse Train - input period and pulse_width as array矩形脉冲序列 - 输入周期和脉冲宽度作为数组
【发布时间】:2021-02-02 00:35:22
【问题描述】:

我已经尝试了几个小时来使用这个:rect pulse train 作为我的用例,但我无法管理它。这段代码的其余部分运行良好!

我有一个数组,其中包含每个脉冲的 pulse_width。我不知道如何更改此代码以使其正常工作。目前,脉冲序列以固定脉冲宽度生成rect(0.004)

def rect(T):
    """create a centered rectangular pulse of width $T"""
    return lambda t: (-T/2 <= t) & (t < T/2)

def pulse_train(t, at, shape):
    """create a train of pulses over $t at times $at and shape $shape"""
    return np.sum(shape(t - at[:,np.newaxis]), axis=0)

pulse_train() 函数中,您必须调用rect() 来放置脉宽,我怎样才能使用一组值而不是一个固定值?

sig = pulse_train(
    t=np.arange(0,509,0.005),     # time domain
     at=np.array([0, 10, 40, 80]),# times of pulses array of times where to input rect
#    shape=rect(0.004))           # shape of pulse length    
     shape=rect(inputlength))      

我希望有人可以并且愿意帮助我!谢谢你

【问题讨论】:

    标签: python-3.x numpy lambda scipy


    【解决方案1】:

    考虑下表:

    FIRST NAME ROLE PHONE NUMBER
    Sarah Landlord 303-817-1021
    Bob Boss 720-171-2341
    Jill Sister 303-871-1234
    Jane Mother 303-791-1271
    Joe my lawyer 303-191-9912

    请注意,电话号码 303-817-1021Sarah 在同一行,因为该电话号码属于 Sarah。

    Python 的 panda 库被设计成对于表的每一行 R,都存在一个对象 X,因此行 R 中的所有信息都属于对象 X

    例如,您可能有一个包含待售房屋数据的表格:

    ADDRESS BEDROOM COUNT BATH COUNT PRICE SQUARE FOOTAGE
    906 S Norfolk St, Aurora, CO 80017 3 2 $410,0004 106.342

    我明白你在做什么。
    您想要一个具有多列的表。 XY 位于同一行这一事实纯属巧合。
    XY 不是同一对象的属性,因为它们位于同一行。

    pandas 库并非真正为此而设计。
    这有点像您使用的是扳手而不是螺丝刀。
    pandas 可能是不适合这项工作的工具。

    但是,你可以让它工作。

    我的建议是表中只有一行(如果包含列标题,则为两行)

    您可以使用 pip 安装 tabulate 库。
    在命令行输入以下命令:

    python -m pip install tabulate
    

    这里有一些python代码:

    import pandas as pd
    from tabulate import tabulate
    
    veggies = [
        "carrot",
        "broccoli",
        "asparagus",
        "cauliflower",
        "corn",
        "cucumber",
        "eggplant",
        "bell",
        "pepper"
    ]
    
    sweets = [
        "cookies",
        "donut",
        "cake",
        "lolipop",
        "ice-cream",
        "banana-split",
        "Sundae",
        "muffin",
        "jelly",
        "beans",
        "pie",
    ]
    
    
    data = [{
        'VEGTABLES':"\n".join(veggies),
        'SWEETS': "\n".join(sweets)
    }]
    
    df = pd.DataFrame(data)
    
    
    print(tabulate(df, headers='keys', tablefmt='psql'))
    

    输出如下:

    +----+-----------+-------------+
    |    | SWEETS    | VEGTABLES   |
    |----+-----------+-------------|
    |  0 | cookies   | carrot      |
    |    | donut     | broccoli    |
    |    | cake      | asparagus   |
    |    | lolipop   | cauliflower |
    |    | ice-cream | corn        |
    |    | banana    | cucumber    |
    |    | split     | eggplant    |
    |    | sundae    | bell        |
    |    | muffin    | pepper      |
    |    | jelly     |             |
    |    | beans     |             |
    |    | pie       |             |
    +----+-----------+-------------+
    

    【讨论】:

      猜你喜欢
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多