自抗扰控制(ADRC)

淺唱寂寞╮ 提交于 2020-02-21 01:09:27

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline 

def fal(x, alpha, delta):
    assert(delta>0)
    y = np.empty(x.shape)
    x1 = x[np.abs(x)<delta]
    x2 = x[np.abs(x)>=delta]
    y[np.abs(x)<delta] = np.power(np.abs(x1), alpha)*np.sign(x1)
    y[np.abs(x)>=delta] = x2/np.power(delta,1-alpha) 
    return  y

def sat(x, delta):
    assert(delta>0)
    y = np.empty(x.shape)
    x1 = x[np.abs(x)<delta]
    x2 = x[np.abs(x)>=delta]
    y[np.abs(x)<delta] = x1/delta
    y[np.abs(x)>=delta] = np.sign(x2)
    return  y

x = np.linspace(-1,1,100)
plt.plot(x,fal(x, 0.5, 0.5), label='fat')
plt.plot(x,sat(x, 0.5), label='sat')
plt.grid()
plt.title(r'$fal(x,\alpha=0.5, \delta=0.5)$, $sat(x,\delta=0.5)$')
plt.legend()

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!