自抗扰控制(ADRC)

在这里插入图片描述

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()

在这里插入图片描述

发布了274 篇原创文章 · 获赞 446 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/itnerd/article/details/104416392
今日推荐