自适应控制 PID

这段代码展示了如何实现一个自适应PID控制器。通过递推计算更新控制器参数数组P、K,以及估计参数,最终计算出控制量并进行限幅。整个过程涉及到矩阵运算和自适应控制算法。
摘要由CSDN通过智能技术生成
 public override double getControlValue()
        {
            int i, j, k;
            // double y = yNow;
            arrUF[1] = -arrAA[1] * arrUF[2] - arrAA[2] * arrUF[3] + arrUK[1];
            arrYF[1] = -arrAA[1] * arrYF[2] - arrAA[2] * arrYF[3] + yk[1];

            //更新控制器参数
            arrPHI[0] = arrUF[1]; arrPHI[1] = arrUF[2]; arrPHI[2] = arrUF[3];
            arrPHI[3] = arrYF[1]; arrPHI[4] = arrYF[2];
            //递推计算数组K
            double[] arrTTP = new double[5];
            for (i = 0; i < 5; i++)
            {
                arrTTP[i] = 0;
                for (j = 0; j < 5; j++)
                {
                    arrTTP[i] += 1.0 * arrayP[i][j] * arrPHI[j];
                }
                arrayK[i] = arrTTP[i];

            }
            double iTemp = 0;
            for (i = 0; i < 5; i++)
            {
              
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值