位置:51电子网 » 技术资料 » 嵌入式系统

多人工干涉算法的编程实现

发布时间:2008/6/3 0:00:00 访问次数:492

        作者:石家庄军械工程学院火炮工程系(050003)杜中华

     王兴贵 狄长春

     来源:《电子技术应用》

     摘要:提出了研究多人工干涉算法的编程实现问题的必要性,在初步分析这一部分的基础上给出了此类问题的定义及解决此类问题的一些技巧,作为一个实例,给出了基于matlab包的化可控规范型的通用函数源程序。

    

    

     关键词:多人工干涉算法

     编程 matlab 化可控规范型

     随着科学技术的发展,许多学科的一些新理论的应用必须依靠计算机求解。对此,人们产生了两种看法。一种认为,要掌握新理论,不能好高骛远,应该从最基本的计算语言如fortran、vb、vc、delphi等的编写入手。另一种则相反,认为学科的一些最新的理论成果均反映在国外的一些著名的商用软件上,通过学习使用这些商用软件能更快地掌握和利用这些最新的理论成果。这两种看法均有一定的道理,但实际上,由于任何一种商用软件都不可能刚好解决具体问题,在使用商用软件时,往往还必须学会在商用软件的编程环境下进行具体的二次开发,仍要用到许多具体的编程技巧。如《现代控制论》中许多理论都可以通过matlab软件包中控制工具箱里函数的调用来方便地实现。但matlab软件包并不是万能的,如化可控规范型就无现成的函数可用。要编制这一函数必须利用matlab语言进行编程。在多数情况下,一定的算法总可用一定的程序来实现,“只有想不到的,没有做不到的”。但在少数情况下,算法的描述更符合人的思维却很难用计算公式来表达,即有太多的“人工干涉”。在这种情况下,计算机作为“机器”的一面就暴露了出来,编制此类程序会遇到相当大的困难。本文通过一个实例,引出了多人工干涉算法的编程实现这一问题,在分析了该问题特点的基础上给出了这类问题的定义,探讨了其研究意义,提出了解决此类问题的一些技巧,最后作为实例,给出了基于matlab包的化可控规范型的通用函数源程序。

     1

     控制论中系统化可控规范型算法及多人工干涉算法编程实现问题的提出

     控制论中系统化可控规范型的算法是这样描述的:

     从一般着手,考虑多输入多输出系统,系统的状态空间方程为:

    

    

    

     其中a为(n×n)维矩阵,b和c分别为(n×m)和(p×n)维矩阵。

     如系统完全可控,则可控性矩阵wc的秩为n,即:rank(wc)=rank[b

     ab…n-1b]=n。

     化可控规范型的步骤就是:先在wc中找出n个线形无关的列,再按此来构成相应的坐标变换阵,最后求取规范型。

     1.1 找出wc中n个线形无关列

     按列搜索方案,对给定矩阵(a,b),按图1构成格栅图。

     在图中假定n=6,m=4。设bi为b的第i列,先选定非零列向量b1并在表征它的a0b1格内记上“×”然后再看ab1(即a1b1),若ab1与b1线形无关,则在表征ab1的格内记上“×”。如此按格栅图关于b的第1列b1继续选下去,直到发现向量av1b1与先前的向量组{b1,ab1,…,av1-1b1}线形相关,则终止按b1方向的选择,并在av1b1的格内记上“○”(图1中v1=3)。如果v1<n,则继续对第2列b2进行类似搜索,若b2与{b1,ab1,…av1-1b1}线形无关,则取定b2,并在a0b2的格内记上“×”。同样,按b2继续向下搜索,直至av2b2先前取定的所有向量为线形相关,并在格内记“○”。按此步骤继续进行,直至取到第l列,并有v1+v2+…+v1=n时结束。这样wc中的n个线形无关的列向量即格栅图中用“×”表示的那个列向量,并可得到指数集{v1,v2,…vm}。

     1.2 构成相应的坐标变换阵

     将从wc中挑选出的n个列向量排成如下非奇异阵:

     q=[b1 ab1 …av1-1bl … bl abl … avl-1b1]

    

        作者:石家庄军械工程学院火炮工程系(050003)杜中华

     王兴贵 狄长春

     来源:《电子技术应用》

     摘要:提出了研究多人工干涉算法的编程实现问题的必要性,在初步分析这一部分的基础上给出了此类问题的定义及解决此类问题的一些技巧,作为一个实例,给出了基于matlab包的化可控规范型的通用函数源程序。

    

    

     关键词:多人工干涉算法

     编程 matlab 化可控规范型

     随着科学技术的发展,许多学科的一些新理论的应用必须依靠计算机求解。对此,人们产生了两种看法。一种认为,要掌握新理论,不能好高骛远,应该从最基本的计算语言如fortran、vb、vc、delphi等的编写入手。另一种则相反,认为学科的一些最新的理论成果均反映在国外的一些著名的商用软件上,通过学习使用这些商用软件能更快地掌握和利用这些最新的理论成果。这两种看法均有一定的道理,但实际上,由于任何一种商用软件都不可能刚好解决具体问题,在使用商用软件时,往往还必须学会在商用软件的编程环境下进行具体的二次开发,仍要用到许多具体的编程技巧。如《现代控制论》中许多理论都可以通过matlab软件包中控制工具箱里函数的调用来方便地实现。但matlab软件包并不是万能的,如化可控规范型就无现成的函数可用。要编制这一函数必须利用matlab语言进行编程。在多数情况下,一定的算法总可用一定的程序来实现,“只有想不到的,没有做不到的”。但在少数情况下,算法的描述更符合人的思维却很难用计算公式来表达,即有太多的“人工干涉”。在这种情况下,计算机作为“机器”的一面就暴露了出来,编制此类程序会遇到相当大的困难。本文通过一个实例,引出了多人工干涉算法的编程实现这一问题,在分析了该问题特点的基础上给出了这类问题的定义,探讨了其研究意义,提出了解决此类问题的一些技巧,最后作为实例,给出了基于matlab包的化可控规范型的通用函数源程序。

     1

     控制论中系统化可控规范型算法及多人工干涉算法编程实现问题的提出

     控制论中系统化可控规范型的算法是这样描述的:

     从一般着手,考虑多输入多输出系统,系统的状态空间方程为:

    

    

    

     其中a为(n×n)维矩阵,b和c分别为(n×m)和(p×n)维矩阵。

     如系统完全可控,则可控性矩阵wc的秩为n,即:rank(wc)=rank[b

     ab…n-1b]=n。

     化可控规范型的步骤就是:先在wc中找出n个线形无关的列,再按此来构成相应的坐标变换阵,最后求取规范型。

     1.1 找出wc中n个线形无关列

     按列搜索方案,对给定矩阵(a,b),按图1构成格栅图。

     在图中假定n=6,m=4。设bi为b的第i列,先选定非零列向量b1并在表征它的a0b1格内记上“×”然后再看ab1(即a1b1),若ab1与b1线形无关,则在表征ab1的格内记上“×”。如此按格栅图关于b的第1列b1继续选下去,直到发现向量av1b1与先前的向量组{b1,ab1,…,av1-1b1}线形相关,则终止按b1方向的选择,并在av1b1的格内记上“○”(图1中v1=3)。如果v1<n,则继续对第2列b2进行类似搜索,若b2与{b1,ab1,…av1-1b1}线形无关,则取定b2,并在a0b2的格内记上“×”。同样,按b2继续向下搜索,直至av2b2先前取定的所有向量为线形相关,并在格内记“○”。按此步骤继续进行,直至取到第l列,并有v1+v2+…+v1=n时结束。这样wc中的n个线形无关的列向量即格栅图中用“×”表示的那个列向量,并可得到指数集{v1,v2,…vm}。

     1.2 构成相应的坐标变换阵

     将从wc中挑选出的n个列向量排成如下非奇异阵:

     q=[b1 ab1 …av1-1bl … bl abl … avl-1b1]

    

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!