论文部分内容阅读
本文是研究仿真电路中非线性系统的降维模型的设计和应用。降低维度的方法是基于将动态系统映射在由若干基本元素构成的子空间上,这些元素包含了期望解决结果的特有性质。这个项目主要目的是针对降低非线性系统维度,计算开发一个精确而有效的数值分析技术,可运用在高阶系统中。模型降维的目的是将高阶的模型用一个保存了原有模型的基本必不可少的属性的低阶模型来代替,这个低阶的模型必须近似于原有模型,从某种意义上来说,这个系统的输入-输出行为和原有的模型在一定的精确度里具有相似的可比性。因此,好的降维方法就是在更快的可能性下捕获原有模型的基本特性。在这个课题的研究中,重点对现今已有的两个线性系统单级降维的方法进行研究和分析:Krylov子空间法和平衡截断法。Krylov子空间法是现今存在的针对线性系统有效降维的两大方法之一,通过建立Krylov空间来获取系统的基本特性,Krylov子空间法主要针对于大型稀疏线性系统,因为在计算过程中只需要矩阵-矢量乘法,并且这个方法可以在广义线性系统里很容易的推广,相反这个技术也有它的缺陷,原系统的稳定性和被动性无法被必要地保存在降维的系统中并且没有全局的近似误差范围。另一个现存的针对线性系统降维的方法:平衡截断法与前者有着很大的不同,这个方法的基本理念是利用奇异值的分解对系统进行筛选,将系统截取成一些构造点,保留重要的有价值的部分,忽略掉剩下的部分,这个方法的一个重要的性质是原系统的渐近稳定性被保留在降维的系统中。这两个针对线性系统有效降维方法在提高大型科学和工程计算效率上起着重要作用,在计算和应用中各有各的优势,结合两个方法的特点与优点研究设计两个针对非线性系统的降维策略:一个方法是将非线性系统模型用摄动表达式表示,并且应用Krylov子空间法进行降维;另一个方法是通过构造经验Gramian来定义一个映射矩阵,运用经验平衡截断法对系统进行降维。在这个课题里,借助MATLAB模拟仿真分析两个降维方法,MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。MATLAB语言是一种交互性的数学脚本语言,其语法与C/C++类似。它支持包括逻辑(boolen)、数值(numeric)、文本(text)、函数柄(function handle)和异质数据容器(heterogeneous container)在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式(0维至任意高维)。执行MATLAB代码的最简单方式是在MATLAB程序的命令窗口(Command Window)的提示符处(>>)输入代码,MATLAB会即时返回操作结果(如果有的话)。此时,MATLAB可以看作是一个交互式的数学终端,简单来说,一个功能强大的“计算器”。MATLAB代码同样可以保存在一个以.m为后缀名的文本文件中,然后在命令窗口或其它函数中直接调用。运用MATLAB的数据分析和图形生成两方面,对比原始的非线性系统与降低纬度后的系统的精确性,从而实现针对非线性系统降维方法的可视化。