什么是数字PID位置型控制算法和增量型控制算法

什么是数字PID位置型控制算法和增量型控制算法,第1张

( 1)增量型算法不需做累加,计算误差后产生的计算精度问题,对控制量的计算影响较小。位置型算法用到过去的误差的累加,容易产生较大的累加误差。

(2)增量型算法得出的是控制的增量,不会影响系统的工作。位置型算法的输出是控制量的全部输出,误动作影响大

两个的表达式都不同 可以看看百度百科

1迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法求某一数学问题的解。

对计算机特定程序中需要反复执行的子程序(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

2基本算法

有些国外的教材,如《C++ Primer》第四版的中文版,会把iterative翻译成迭代。

在java中Iterative 仅用于遍历集合,本身并不提供盛装对象的能力。如果需要创建Iterative对象,则必须有一个被迭代的集合。没有集合的Iterative仿佛无本之木,没有存在的价值。

iterative是反复的意思,所以,有时候,迭代也会指循环执行,反复执行的意思。

利用迭代算法解决问题,需要做好以下三个方面的工作:

确定变量

在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。

建立关系式

所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。

过程控制

在什么时候结束迭代过程这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。

例1 : Fibonacci Sequence(斐波那契数列)

即这样一个数列:0、1、1、2、3、5、8、13,在数学上该数列定义为:

F(0)=0,F(1)=1; F(n) = F(n-1)+F(n-2) (n≥2,n∈N)。

一般该数列可以递归实现,下面是用C语言 迭代 实现:

int fab(int n)

{ if (n<3)

{return 1;}

else

{int first = 1,second = 1,temp = 0;

for (int i =0;i<n-2;i++)

{temp = first + second;

first = second;

second = temp;}

return temp;

}

}

例2 :验证角谷猜想。日本数学家角谷静夫在研究自然数时发现了一个奇怪现象:对于任意一个自然数

n ,若 n 为偶数,则将其除以 2 ;若 n 为奇数,则将其乘以 3 ,然后再加

1。如此经过有限次运算后,总可以得到自然数1。人们把角谷静夫的这一发现叫做“角谷猜想”。

要求:编写一个程序,由键盘输入一个自然数n ,把 n 经过有限次运算后,最终变成自然数 1 的全过程打印出来。

分析:定义迭代变量为 n ,按照角谷猜想的内容,可以得到两种情况下的迭代关系式:当 n 为偶数时, n=n/2 ;当 n 为奇数时, n=n3+1。用c 语言把它描述出来就是:

以下是引用片段:

if (n%2==0) //如果n是偶数

{

    n=n/2;

    }

else

{

    n=n3+1;

    }

这就是需要计算机重复执行的迭代过程。这个迭代过程需要重复执行多少次,才能使迭代变量n

最终变成自然数1 ,这是我们无法计算出来的。因此,还需进一步确定用来结束迭代过程的条件。仔细分析题目要求,不难看出,对任意给定的一个自然数n

,只要经过有限次运算后,能够得到自然数 1 ,就已经完成了验证工作。因此,用来结束迭代过程的条件可以定义为:n=1。参考程序如下:

以下是完整程序:

#include<stdioh>

int main()

{

int n;

printf("Please input n=\n");

scanf("%d",&n);

 printf("%d\n",n);   

while(n!=1)

{

    if (n%2==0) //如果n是偶数

    {    

        n=n/2;  

        printf("->/2=%d\n",n);     

    }

    else

    {

        n=n3+1;

        printf("->3+1=%d\n",n);    

    }

   }

 }

我是做管道、设备、钢结构安装的。

开工前写安全技术交底、开工报告,单线图下来了就做材料报验、施工方案、特殊工种报验;施工过程中:1)管道安装:安装过程中弄焊接记录(一般要按焊口比例探伤的),安装完后根据探伤记录做试压包、管道清洗/吹扫记录、真空/泄露性试验,其中还要按规定做阀门试验记录等等。2)设备安装要做设备开箱记录、安装检验记录(分立式、卧式)、垫铁隐蔽记录,3)钢结构做沉降观测记录。施工完后做各专业的分部分项记录。

监理签完子就拿回来存着,等工程完了做交工资料组册的时候用。

以上就是关于什么是数字PID位置型控制算法和增量型控制算法全部的内容,包括:什么是数字PID位置型控制算法和增量型控制算法、C语言循环结构-迭代、建筑工程增量有哪些程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10627313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存