分段函数图

    PiecewisePlot(Piecewise(f(x)))处理分段函数,会区分不同区间或点集进行渲染(例如,用曲线表示连续部分,用点表示离散部分)。

    x -- 输入, 符号变量.

    阶梯电价模型

    Piecewise(
        (0.5 * x, And(x >= 0, x <= 100)),      # 第一档电价
        (50 + 0.8*(x-100), And(x > 100, x <= 200)),  # 第二档
        (130 + 1.2*(x-200), x > 200),          # 第三档
        (0, True)                              # 默认值(实际不会触发)
    )

    PiecewisePlot(Piecewise((0.5x, And(x>= 0, x<=100)),(50+0.8*(x-100), And(x >100,x<=200)),(130+1.2*(x-200),x> 200),(0,True)))

    汽车制动距离模型

    Piecewise(
        (0.01*v**2, v <= 30),                 # 低速制动
        (9 + 0.015*(v-30)**2, v > 30),        # 高速制动
        (0, True)                              # 默认值
    )

    PiecewisePlot(Piecewise((0.01*v^2, v<=30),(9+0.015*(v-30)^2, v>30),(0, True)))

    医疗输液控制

    Piecewise(
        (20, And(t >= 0, t < 10)),             # 初始快速滴注
        (5, And(t >= 10, t < 60)),             # 维持速率
        (0, t >= 60),                          # 结束输液
        (0, True)                      # 时间无效
    )

    PiecewisePlot(Piecewise((20, And(t>=0, t<10)),(5, And(t>=10, t<60)),(0, t>=60),(0, True)))

    温度阈值控制系统

    Piecewise(
        (0, T < 10),                           # 低温关闭
        (0.5*(T-10), And(T >= 10, T < 30)),    # 线性调节
        (10, T >= 30)                          # 高温限幅输出
    )

    PiecewisePlot(Piecewise((0, T<10),(0.5*(T-10), And(T>=10, T<30)),(10, T>= 30)))

    绝对值函数

    Piecewise(
        (-x, x < 0),                          # 负区间
        (x, x >= 0)                           # 非负区间
    )

    PiecewisePlot(Piecewise((-x, x<0),(x, x>=0)))