谁能帮我看下这一段C语言?我一点都不懂,每行都解释下吧,尤其是Pdlt+=()是什么个意思?谢谢了!
#defineKp3.3#defineKi0.2#defineKd0floatfDoPID(floatError){staticfloatPrevError_1=0,Pr...
#define Kp 3.3
#define Ki 0.2
#define Kd 0
float fDoPID (float Error)
{
static float PrevError_1 = 0, PrevError_2 = 0;
float Pdlt=0;
Pdlt = (Error - PrevError_1) ;
Pdlt += Ki * (Error);
Pdlt += Kd * (Error - 2*PrevError_1 + PrevError_2);
Pdlt *= Kp;
return (Pdlt);
} 展开
#define Ki 0.2
#define Kd 0
float fDoPID (float Error)
{
static float PrevError_1 = 0, PrevError_2 = 0;
float Pdlt=0;
Pdlt = (Error - PrevError_1) ;
Pdlt += Ki * (Error);
Pdlt += Kd * (Error - 2*PrevError_1 + PrevError_2);
Pdlt *= Kp;
return (Pdlt);
} 展开
3个回答
展开全部
#define Kp 3.3//定义 常量Kp 值为 3.3(一遇到Kp就用3.3代替)
#define Ki 0.2//定义 常量Ki
#define Kd 0//定义 常量Kd
float fDoPID (float Error)//返回值类型 float 函数名 fDoPID 形参类型 float 形参名 Error
{
static float PrevError_1 = 0, PrevError_2 = 0;//声明变量
float Pdlt=0;//声明变量
Pdlt = (Error - PrevError_1) ;
Pdlt += Ki * (Error);//等价于 Pdlt = Pdlt + Ki*(Error);
Pdlt += Kd * (Error - 2*PrevError_1 + PrevError_2);//同理
Pdlt *= Kp;//等价于 Pdlt = Pdlt * Kp;
return (Pdlt);//返回 Pdlt的值
}
解释语法:a+=b;等价于 a = a+b;
a*=b;等价于 a = a* b;
符号 /= %= -= 都是同理
希望你能找一本C语言书好好看一看。
#define Ki 0.2//定义 常量Ki
#define Kd 0//定义 常量Kd
float fDoPID (float Error)//返回值类型 float 函数名 fDoPID 形参类型 float 形参名 Error
{
static float PrevError_1 = 0, PrevError_2 = 0;//声明变量
float Pdlt=0;//声明变量
Pdlt = (Error - PrevError_1) ;
Pdlt += Ki * (Error);//等价于 Pdlt = Pdlt + Ki*(Error);
Pdlt += Kd * (Error - 2*PrevError_1 + PrevError_2);//同理
Pdlt *= Kp;//等价于 Pdlt = Pdlt * Kp;
return (Pdlt);//返回 Pdlt的值
}
解释语法:a+=b;等价于 a = a+b;
a*=b;等价于 a = a* b;
符号 /= %= -= 都是同理
希望你能找一本C语言书好好看一看。
展开全部
Pdlt += Ki * (Error);//就是Pdlt = Pdlt + Ki * (Error)前面的写法编译效率高
Pdlt *= Kp;//就是Pdlt = Pdlt * Kp;
Pdlt *= Kp;//就是Pdlt = Pdlt * Kp;
追问
谢谢! 这句呢?
static float PrevError_1 = 0, PrevError_2 = 0;
static是什么?百度说的没看懂,能否通俗讲讲这条指令的作用?
追答
静态变量,这个是个关键字,不同的地方有不同的作用。是给编译器看的,告诉编译器定义的这个变量应该放在什么地方。不是我几句话就能让你完全明白的,你先看别人解释,以后多遇到了,一一对比,慢慢的就懂了,不可能一下吃成个胖子的,慢慢来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一条PID控制回路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询