免费预览已结束,剩余55页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通信系统仿真 大作业报告专 业: 通信工程 班 级: 120412 姓 名: 肖梦 学 号: 120412112 2015年11月19日1 matlab概论简介和应用领域32 matlab在系统控制中的应用82.1 线性控制系统的数学模型82.2 线性系统的传递函数模型92.3 线性系统的状态方程模型92.4 线性系统的零极点模型92.5 线性离散时间系统的数学模型102.6 线性控制系统的分析102.7 线性系统的稳定性112.8 系统内部稳定性分析122.9 可控性与可观性分析132.10 线性系统的可控性分析132.11 线性系统的可观性分析132.12 二阶系统的时域分析142.13 二阶系统的频域分析162.14 MATLAB语言及工具箱182.15 MATLAB语言的变量与常量182.16 数据结构193 matlab在数据分析中的应用193.1 数值方法的特点203.2 数制与浮点运算203.3 误差分析203.4 下面对于范数和极限的讨论203.5 解线性方程组的直接法213.6 线性代数方程组的迭代解法223.7 矩阵特征值问题的求解223.8 非线性方程求根253.9 函数插值263.10 样条函数273.11 一致逼近与平方逼近273.12 数值积分283.11 幂法的Matlab程序283.12 Newton法304 matlab在信号处理中的应用314.1 基本信号的表示及可视化314.2 MATLAB在采样与波形发生的应用324.3 MATLAB在数字滤波器中的应用345 matlab在通信系统中的应用385.1 DSB调制与解调385.2 AM调制和解调405.3 SSB调制和解调415.4 FM调制与解调435.5 载波幅度调制(PAM)445.6 差分相位调制和解调(DPSK)455.7 信道容量475.8 信道编码486 matlab在金融系统中的应用496.1 最小二乘法在MATLAB中的实现496.2 二次趋势面516.3 三次趋势面526.4 平滑异同平均线(MACD)536.5 威廉指标546.6 相对强弱指标556.6 单变量线性随机模型567 参看文献58matlab在系统控制中的应用参考文献58matlab在数据分析中的应用参考文献58matlab在信号处理中的应用参考文献58Matlab在通信系统中的应用参考文献59matlab在金融系统中的应用参考文献591 matlab概论简介和应用领域MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语言编写至少需要好几十行。再如用双步QR方法求解矩阵特征值,如果用FORTRAN编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。以下为用MATLAB编写以上两个小程序的具体过程。用MATLAB求解下列方程,并求矩阵A的特征值。 其中:解为:x=Ab;设A的特征值组成的向量为e,e=eig(A)。可见,MATLAB的程序极其简短。更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。下表列出了MATLAB的核心部分及其工具箱等产品系列的主要应用领域。MATLAB的工具箱及主要应用领域工 具 箱 名 称应 用 领 域系统控制数据分析信号处理通信系统金融系统工程数学土木工程图形可视化MATLAB核心NotebookMATLAB ComplierMATLAB C Math LibrarySimulinkSymbolic MathSimulink AcceleratorChemometricsCommunicationControl SystemFinanceSystem IdentificationFuzzy LogicalHigh-order Spectral Analysis工 具 箱 名 称应 用 领 域系统控制数据分析信号处理通信系统金融系统工程数学土木工程图形可视化Image ProcessingModel Predictive ControlNGA FoundationNeural NetworkMMLE3 IdentificationLMI ControlModel Predictive ControlQFT Control DesignRobust ControlSplineStatisticsDSP BlocksetFixed-Point BlocksetNonlinear Control Design BlocksetReal-time WorkshopRTW Ada ExtentionWaveletPartial Differential EquationOptimizationStateflowSignal ProcessingMu Analysis and SynthesisFrequency Domain IdentificaionMap tools源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。2 matlab在系统控制中的应用2.1 线性控制系统的数学模型控制系统的数学模型,在控制系统研究中是相当重要的,要对系统进行仿真处理,首先应该知道系统的数学模型,然后才可以对之进行模拟;知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得原系统的响应达到预期的效果。所以说控制系统的数学模型是系统分析和设计的基础。目前大部分控制系统分析设计的算法都需要假设系统的模型已知,而获得数学模型有两种方法:其一是从已知的物理规律出发,用数学推导的方法建立起系统的数学模型,另外一种方法是由实验数据拟合系统的数学模型。一般线性系统控制理论科学和研究中,经常将控制系统分为连续系统和离散系统,描述线性连续系统常用的描述方式是传递函数和状态方程,相应地离散系统可以用离散传递函数和离散状态方程表示。连续线性系统用传递函数表示方法和用状态方程表示方法的不同在于他们使用在不同的场合,前者是经典控制的常用模型,后者是现代控制理论的基础,在MATLAB中可以用不同的方法来表示。除了这两种描述方法以外,还常用零极点形式来表示连续线性系统模型。2.2 线性系统的传递函数模型连续动态系统一般是由微分方程来描述的,而线性系统又是以线性常微分方程来描述的。当系统用传递函数表示如下所示时: (1)其中bi与ai为常数。这样的系统又称为线性时不变系统,系统的分母多项式又称为系统的特征多项式。在MATLAB中可以分别表示完分子和分母多项式后,再利用控制系统工具箱的tf()函数就可以用一个变量表示传递函数G: MATLAB还支持另一种特殊的传递函数的输入格式,在这样的输入方式下,应该用s=tf(s)先定义传递函数的算子,然后用类似数学表达式的形式直接输入系统的传递函数模型。2.3 线性系统的状态方程模型当系统是用状态方程描述时,MATLAB要用到另一种表示函数的方法,例如系统用状态方程的表示如下所示: (2) 此系统的状态方程模型可以用下面的语句直接建立起来:2.4 线性系统的零极点模型零极点模型实际上是传递函数的另一种表现形式,对原系统传递函数的分子和分母分别进行分解因式处理,则可得到系统的零极点模型为 (3) 在MATLAB下表示零极点模型的方法很简单,先用向量的形式输入系统的零点和极点,然后调用zpk()函数就可以输入这个零极点模型了。 2.5 线性离散时间系统的数学模型一般的单变量离散系统可以由下面的差分方程来表示。 (4)在MATLAB语言中,输入离散系统的传递函数模型和连续系统传递函数模型一样简单,只需分别按要求输入系统的分子和分母多项式,就可也以利用tf()函数将其输入到MATLAB环境。和连续传递函数不同的是,同时还需要输入系统的采样周期T,具体语句如下: 用MATLAB可以表示的数学模型很多,出了上面的例子以外还有很多,如方框图描述系统的简化、系统模型的相互装换、控制系统的状态方程实现问题、线性系统的模型降阶、线性系统的模式辨识等,通过MATLAB都可以很好的解决和简化这类问题。2.6 线性控制系统的分析如果建立起了系统的数学模型,就可以对系统的性质进行分析了。对线性系统来说,最重要的性质是其稳定性,在控制理论发展初期,相关的理论成果都是有关系统稳定性的,最初的判定方法有,连续系统的Routh表、Hurwitz矩阵法,以及离散系统的Jury判据等。但是有了MATLAB后对系统的性质分析就变得容易多了。2.7 线性系统的稳定性在系统特性研究中,系统的稳定性是最重要的指标,如果系统稳定,则可以进一步分析系统的其他性能,如果系统不稳定,系统则不能直接应用,需要引进控制器来使得系统的稳定。用系统的状态方程判断系统的稳定性是看系统状态方程中A矩阵的特征根是否均有负实部,在线性系统工具箱中,求取一个线性定常系统的特征根只需用p=eig(G)函数即可,其中p返回系统的全部特征根。不论系统的模型G是传递函数、状态方程还是零极点模型,且不论系统是连续或离散的,都可以用这样简单的命令求解系统的全部特征根,这样就使系统的稳定性判定变得十分容易。另外,由pzmap(G)函数能用图形的方式绘制出系统所有特征根在s复平面上的位置,所以判定连续系统是否稳定只须看一下系统所有极点在s复平面上是否均位于虚轴左侧即可。同样还能用pzmap(G)命令在复平面上绘制系统所有零极点的位置,用图示的方法也可以立即判定离散系统的稳定性。例:(1)状态方程系统的稳定性u 解析阶:u 稳定性:A矩阵的特征根均有负实部(2)离散系统的稳定性nn 离散系统时域响应解析阶:n 稳定性判定:所有特征根均在单位圆内Routh判据只能得出是否稳定,进一步信息得不出来,如系统是否振荡。离散系统无法由Routh方法直接判定,得借助于Jury判据,更复杂。稳定性分析方法不统一。2.8 系统内部稳定性分析在反馈控制系统的分析中,为了得到更好的控制效果,仅仅分析系统的输入输出稳定性是不够的,因为这样的稳定性分析只能保证由稳定输入激励下的输出信号的有界性,但不能保证系统的内部信号都是有界的。若系统的内部信号变成无界的,即使原系统稳定,也将破坏原系统的物理结构。如下图1.1所示的反馈系统结构图1.1 反馈系统结构果上系统中从输入信号(r,d,n)到内部输出信号(x1,x2,x3)的所有9个闭环系统函数都是稳定的,则该系统是内部稳定的。可以证明,这9个传递函数可以表示成逐一去判断每个式子传递函数的稳定性无疑是很繁琐的,所以可以根据内部稳定性定理,用简单方法直接判定。该定理为:闭环系统内部稳定的充要条件为: 传递函数没有Res0的零点。 乘积中没有满足Res0的零极点对消。用MATLAB可以编写出判定反馈系统内部稳定性的函数如下:function key=instable(G,Gc,H) GG=minreal(feedback(G*Gc,H); Go=H*G*Gc;Go1=minreal(Go); P=eig(GG);z0=eig(Go);z1=eig(Go1); zz=setdiff(z0,z1); if (G.Ts1),%离散系统判定 key=any(abs(p)1); if key=0,key=2*any(abs(zz)1);end else,%连续系统判定 key=any(real(p)0); if key=0,key=2*any(real(zz)0;end end2.9 可控性与可观性分析线性系统的可控性和客观性是基于状态方程控制理论的基础,这些性质为系统的状态反馈设计、观测器的设计等提供了依据。2.10 线性系统的可控性分析系统的可控性就是指系统内部的状态是不是可以由外部输出信号控制的性质,对线性时不变系统来说,如果系统某个状态可控,则可以由外部信号任意控制。如果系统中所有的状态都是可控的,则称该系统为完全可控的。对系统进行可控性判定时,可以构造起一个可控判定矩阵 (5) 若矩阵Tc是满秩矩阵,则系统为完全可控的。如果该矩阵不是满秩矩阵,则它的秩为系统的可控状态的个数。用MATLAB求矩阵的秩可以用算法rank(T)得出,还可以用MATLAB构造系统的可控性判定矩阵,用Tc=ctrb(A,B)函数就可以建立起可控性判定矩阵Tc。2.11 线性系统的可观性分析系统的可观测性就是指系统内部的状态是不是可以由系统输出信号重建起来的性质,对线性时不变系统来说,如果系统某个状态可观测,则可以由输入输出信号重建起来。如果系统中所有的状态都是可观的,则称该系统为完全可观测的系统。从定义判定系统的可观性是很繁琐的,可以构造起一个可观测性判定矩阵由控制理论可知,系统的可观测性问题和系统的可控性问题是对偶关系,若研究系统的可观测性问题可以将其转换成系统的可控性问题,故前面所述的可控性分析的全部方法均可以扩展到系统的可观测性研究中。当然,可观测性分析也有自己的相应函数,如对应于可控性的ctrb( )和ctrbf( )有obsv( )和obsvf( ),对应于gram(G,c)有gram(G,o)等,也可以利用这些函数直接进行可观性分析与变换。2.12 二阶系统的时域分析假设系统的开环模型为,并假设有单位负反馈构造出整个闭环控制系统模型,则定义为系统的阻尼比,n为系统的自然震荡频率,这时闭环系统模型可以写成 (6) 根据线性系统解析解的理论,不难导出这样二阶系统的阶跃响应y(t)的解析解的一般形式为 (7) 其中。根据的不同取值,或考虑d的情况,可以进一步将解析解解释为:l 若=0,则系统响应可以简化为,称为无阻尼振荡。l 若01,则阶跃响应称为过阻尼响应,系统响应为 选取n=1rad/s,而选择不同的阻尼比,则可以由下面的命令立即得出系统在不同阻尼比下的阶跃响应曲线。step(G)y,t=step(G)y,t=step(G,tf)y=step(G,t)通过一个例子来演示一个线性系统的时域分析:例:给出一个二阶线性系统如下 对其进行时域分析过程如下:l 系统的阶跃响应曲线num=4;,den=1,3,4; G=tf(num,den); step(G) % 求解系统的阶跃响应曲线图1.2 系统的阶跃响应曲线由dcgain(G)可以直接得出系统的稳态值为1。(稳态值即系统在时间很大时的系统输出极限值,对于不稳定系统来说稳态值趋于无穷大。)由系统的阶跃响应曲线可以得到:1. 超调量(系统的峰值与稳态值的差距) 2. 上升时间(一般定义为系统阶跃响应从稳态值的10%到90%的这段时间) 3. 调节时间(一般指系统的阶跃响应进入稳态值附近的一个带中,比如2%或5%的带后不再出来时所需的时间) l 系统的根轨迹曲线rlocus(G),grid %绘制系统的根轨迹图1.3 系统的根轨迹曲线由系统函数可知系统有两个极点,没有零点,因此系统的根轨迹曲线是两条向远处无限延伸的曲线。对上述系统进行频域分析如下:2.13 二阶系统的频域分析对系统饿传递函数模型G(s)来说,若用频率j取代复变量s,则可以将G(j)看成增益,这个增益是复数量,是的函数。描述这个复数变量有几种方法,根据表示方法的不同,就可以构造出不同的频域响应曲线:l 系统的Nyquist曲线nyquist(G),grid %求系统的Nyquist曲线图1.4 系统的Nyquist曲线 从得出的Nyquist图可知整个Nyquist图并不包围(-1,j0)点,根据Nyquist定理可以断定,该系统是稳定的。l 系统的Bode图由Bode图可以观察系统的相频特性bode(G) %绘制系统的伯德图图1.5 系统的伯德图 上图它也可以得出系统是稳定的。l 系统的Nichols图figure,nichols(G),grid %绘制系统的Nichols图图1.6 系统的Nichols曲线由系统的Nichols图可以得到系统的幅值裕度、频率、相角裕度和剪切频率,MATLAB gm,pm,wg,wp=margin(G)也可以直接得出系统的幅值裕度、频率、相角裕度和剪切频率为gm =Inf pm=-180 wg=Inf wp=02.14 MATLAB语言及工具箱MATLAB语言是当前国际上自动控制领域的首选计算机语言,也是很多理工科专业最适合的计算机数学语言,MATLAB语言简洁性高,具有科学运算能力、绘图功能,有庞大的工具箱与模块集,还具有强大的动态系统仿真功能。MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。 2.15 MATLAB语言的变量与常量MATLAB语言变量名应该由一个字母引导,后面可以跟字母、数字、下划线等。在MATLAB中变量名是区分大小写的,也就是说,Abc和ABc两个变量名表达的是不同的,在使用MATLAB语言编辑程序时一定要注意。在MATLAB语言中还为特定常数保留了一些名称,虽然这些常量都可以重新赋值,但建议在编辑时应尽量避免对这些量重新赋值。l esp 机器的浮点运算误差限。PC机上esp默认的值为 l i和j 若i或j量不被改写,则它们表示纯虚数量jl Inf 无穷大量+的MATLAB表示,也可以写成inf。同样地,-可以表示为-Inf。l NaN 不定式,通常由0/0运算、Inf/Inf及其他可能的运算得出。l pi 圆周率的双精度浮点表示。l lasterr 存放最新一次的错误信息。l laastwarn 存放最新的警告信息。2.16 数据结构强大方便的数值运算功能是MATLAB语言的最显著特色。为保证较高的计算精度,MATLAB语言中最常用的数值量为双精度浮点数,占8个字节,其MATLAB表示为double()。MATLAB还定义了“符号”型变量,以区别于常规的数值型变量,可以用于公式推导和数学问题的解析解法。进行解释运算前需要首先将采用的变量申明为符号标量,这需要用syms命令来实现。该语句具体的用法syms var_list var_props,其中,var_list给出需要申明的变量列表,可以同时申明多个变量,中间用空格隔开,而不是用逗号等分隔。符号型数值可以通过变精度算法函数vpa( )以任意指定的精度显示出来。该函数的调用格式为vpa(A),或vpa(A,n)。MATLAB还有其他的数据结构:字符串数据、多为数组、单元数组、类与对象等。3 matlab在数据分析中的应用 首先要有可靠的理论分析,以确保算法在理论上的收敛性和数值上的稳定性.其次要对计算的结果进行误差估计,以确定其是否满足精度,还要考虑算法的运行效率即算法的运算量和存储量.以及编写Matlab程序实现在计算机上的应用,使其能在一些问题上更快地收敛3.1 数值方法的特点1) 数值结果要能算得出来,其次结果应有一定的精度2) 误差满足指定的值3) 计算时间应尽可能少 3.2 数制与浮点运算1、数制即在计算机中一个数通常可以用十进制、二进制、八进制等表示.2、浮点数即用整数部分加小数部分来表示一个实数.对于二进制的转换举例说明: =3.3 误差分析误差的具体数值无法确定,设法给出其绝对值的一个上界绝对误差 相对误差 %x的相对误差对于方法的稳定:一种数值方法的传播误差应该可以控制3.4 下面对于范数和极限的讨论学习它主要目的是利用范数求特征值计算矩阵方程组1向量范数 2矩阵范数设是中的向量范数,对于任何,若定义则是矩阵A的范数,得到的范数即为向量范数的从属范数.1范数的从属范数 范数的从属范数 2范数的从属范数 另:矩阵的F范数与谱范数均与2范数相容但F范数不是从属范数,从属范数是所有相容范数中的最小者. 对于任何的充分必要条件是. 3.5 解线性方程组的直接法1.回迭过程的实现: i=n-1,.,1整个回迭过程乘除法运算量为:.2.三对角矩阵是一类很重要的特殊矩阵,在数学和物理学中有广泛的应用.三对角矩阵的特征,用待定系数法求解三对角线性方程组的数值解,并与常用的LU分解法从理论分析和数据实验两方面进行比较,结果表明,两者的时间复杂性前者稍差,而精度两者则相当,最后写出两者的C程序并运行结果.接下来用一种简单和容易实现的方法求出三对角矩阵的行列式,再利用其逆矩阵可以分解成两个很特殊的矩阵的乘积,给出一种算法实现三对角矩阵的逆的简便计算.LU分解:设A的前n-1个顺序主子阵非奇异,则存在单位下三角矩阵L及上三角矩阵U使A=LU且分解是唯一的.3.6 线性代数方程组的迭代解法迭代法发的一般形式,改写成,H为矩阵g 向量而定义向量序列;, 为迭代序列解方程组的方法:Jaclbi迭代法和Gauss-Seidel迭代法,超松弛迭代法,对于一般的方程组Ax=b,其中,detA0,记A=D-L-U.D为对角部分 L为严格下三角部分 U严格上三角矩阵.设方程组 此为Jaclbi迭代法 . i=1,2,.,n;k=1,2,.另外:编程时双保险,避免死循环给出值满足精度,知最大循环次数.3.7 矩阵特征值问题的求解它包括矩阵特征值和特征向量的计算,而矩阵特征值的计算方法本质上都是迭代法.解决问题的方法有乘幂法和反乘幂法.乘幂法的基本公式带原点位移的反幂法的计算公式在Matlab中的实验举例说明:functionk,lambda,vk,wc=ydwyfmf(A,v0,jlamb,jd,max1) n,n=size(A); A1=A-jlamb*eye(n);jd=jd*0.1; RAl=det(A1); ifRA1=0disp(A-aE的n阶行列式n1等于0,所以A-aE不能进行LU分解)returnendlambda=0; ifRAl=0forp=1:nh(p)=det(A1(1:p,1:p);endhl=h(1:n);ifh(1,i)=0disp(因为A-aE的各阶主子式等于0,所以A-aE不能进行LU分解)returnendendifh(1,i)=0disp(因为A-aE的各阶主子式都不等于0,所以A-aE不能进行LU分解)k=1;wc=1;state=1;vk=v0;while(kjd)state=1;k=k+1;%Vk=Vk2,mk=mk1endif(Wc=jd)disp(A-aE的秩R(A-aE)和各阶顺序主子式值h1,迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:) elsedisp(A-aE的秩R(A-aE)和各阶顺序主子式值h1,迭代次数k已经达到最大迭代次数max1,按模最小特征值的迭代值lambda,特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:) endh1,RA1endend V,D=eig(A,nobalance); Vk;k=k-1;Wc;lambdan=jlamb+1/mk1;3.8 非线性方程求根求=0的解,设为方程的根,即.如果存在正整数使,且0 ,则称为他的m重根.当在可微时,为的重根的充要条件是是的根.确定根的存在性定理:若在上连续,且,则在上至少有一个根,方法关于它还有一个重要定理,如果在处二次连续可微,且,则方法局部平方收敛,如果,则方法局部线性收敛.切线法(Newton法)在Matlab中编程如下:function C,D=newploy(X,Y) n=length(X); D=zeros(n,n); D(:,1)=Y; for j=2:nfor k=j:n D(k,j)=(D(k,j-1)-D(k-1,j-1)/(X(k)-X(k-j+1); endendC=D(n,n); for k=(n-1):-1:1 C=conv(C,poly(X(k); m=length(C); C(m)=C(m)+D(k,k); end3.9 函数插值插值问题的提法是:假定区间a,b上的实值函数f(x)在该区间上 n+1个互不相同点x0,x1xn 处的值是f (x0),f(xn),要求估算f(x)在a,b中某点x*的值.基本思路是,找到一个函数P(x),在x0,x1xn 的节点上与f(x)函数值相同(有时,甚至一阶导数值也相同),用P(x*)的值作为函数f(x*)的近似.拉格朗日插值公式对给定的n+1个节点x0,x1,x2,xn及对应的函数值y0,y1,y2,yn,构造一个n次插值多项式:简单程序示例:x=0.0 0.1 0.195 0.3 0.401 0.5;y=0.39849 0.39695 0.39142 0.38138 0.368120.35206 ;T=interp1(x,y,0.25,linear)%线性插值(返回结果T=0.3862) T=interp1(x,y,0.25,nearest)% 两点插值(返回结果T=0.3814)T=interp1(x,y,0.25,spline) % 三次样条插值(返回结果T =0.3867)T=interp1(x,y,0.25,cubic)%三次插值(返回结果T =0.3867)3.10 样条函数在插值问题中,样条插值通常比多项式插值好用.用低阶的样条插值能产生和高阶的多项式插值类似的效果,并且可以避免被称为龙格现象的数值不稳定的出现.并且低阶的样条插值还具有“保凸”的重要性质.3.11 一致逼近与平方逼近近似代替又称为逼近,函数 f(x) 称为被逼近函数;P(x) 称为逼近函数,两者之差称为逼近的误差.1、一致逼近(均匀逼近) 以 作为度量误差f(x)- P(x) 的“大小” 标准.2、 平方逼近(均方逼近) 以作为度量误差f(x)- P(x)的“大小” 标准.function c=pf1(f,n,a,b) %c最佳平方逼近多项式的系数syms x;for i=1:n+1for j=1:n+1A(i,j)=int(x(i+j-2),x,a,b);endB(i)=int(f*x(i-1),x,a,b);endc=inv(A)*B;3.12 数值积分1.插值型的求积公式:构造出的求积, 公式积称为是插值型求积公式2.牛顿柯特斯公式:设将积分区间划分为n等分,步长 ,选取等距节点 ,构造出的插值型求积公式:称为牛顿柯特斯公式,式中例x=0:1/8:1;y=x./(4+x.2);trapz(x,y)运行结果:ans= 0.111402354529553.11 幂法的Matlab程序用幂法计算矩阵的主特征值和对应的特征向量的Matlab主程序function k,lambda,Vk,Wc=mifa(A,V0,jd,max1)lambda=0;k=1;Wc =1; ,jd=jd*0.1;state=1; V=V0;while(kjd)state=1;endk=k+1;Wc=Wc;endif(Wc=jd)disp(请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:)elsedisp(请注意:迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:)endVk=V;k=k-1;Wc; 用幂法计算下列矩阵的主特征值和对应的特征向量的近似向量,精度. 解 (1)输入MATLAB程序A=1 -1;2 4; V0=1,1;k,lambda,Vk,Wc=mifa(A,V0,0.00001,100),V,D = eig (A), Dzd=max(diag(D), wuD= abs(Dzd- lambda), wuV=V(:,2)./Vk,运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc =33 3.00000173836804 8.691862856124999e-007Vk = V = wuV =-0.49999942054432 -0.70710678118655 0.44721359549996 -0.894428227562941.00000000000000 0.70710678118655 -0.89442719099992 -0.89442719099992Dzd = wuD =3 1.738368038406435e-006由输出结果可看出,迭代33次,相邻两次迭代的误差Wc 8.69 19e-007,矩阵的主特征值的近似值lambda3.000 00和对应的特征向量的近似向量Vk (-0.500 00,1.000 00, lambda与例5.1.1中的最大特征值近似相等,绝对误差约为1.738 37e-006,Vk与特征向量 的第1个分量的绝对误差约等于0,第2个分量的绝对值相同.由wuV可以看出,的特征向量V(:,2) 与Vk的对应分量的比值近似相等.因此,用程序mifa.m计算的结果达到预先给定的精度.3.12 Newton法 例.使用Newton法计算方程在区间上的根,其初始值解:编写主程序为:x,time=Newton(2*exp(2*x)-7*x2-10,1.5,1e-5)x=0:0.01:2;y=2*exp(2*x)-7*x.2-10;plot(x,y)grid 运行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术颜料制造工安全规程强化考核试卷含答案
- 冷链物流员岗前岗位考核试卷含答案
- 轨配工岗前实操评估考核试卷含答案
- 套筒窑石灰煅烧工安全意识强化模拟考核试卷含答案
- 油漆作文物修复师工作合规知识考核试卷含答案
- 粗液脱硅工创新思维水平考核试卷含答案
- 2026年辽宁省中考生物试题(含答案)
- 爆破工岗位QC管理考核试卷含答案
- 木制玩具制作工安全生产基础知识强化考核试卷含答案
- 多点相关定位系统机务员安全理论评优考核试卷含答案
- 2026中食金安(石家庄)供应链科技有限责任公司公开招聘工作人员28名笔试参考题库及答案解析
- 河南省郑州市实验中学2026-2027学年高二上学期第一次月考英语试卷
- 酮症酸中毒指南2025版
- 2026秋沪科版九上物理 第十五章电与电路单元测试卷
- 2026年人教版数学二年级上册第二单元《1-6的表内乘法》教学设计
- 10kV配电站房建设施工方案
- 检验科试剂耗材精细化管理方案
- 物业维修管理流程及注意事项
- 2026年河南省高考物理试卷(含答案及解析)
- 2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(形考任务+实验报告)试题及答案
- 电梯拆除施工方案流程
评论
0/150
提交评论