计算方法大作业(西电机电院)_第1页
计算方法大作业(西电机电院)_第2页
计算方法大作业(西电机电院)_第3页
计算方法大作业(西电机电院)_第4页
计算方法大作业(西电机电院)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算方法大作业第一部分、计算方法学习回顾1.主要知识点:误差分析,插值法与拟合,数值积分,数值微分,线性方程组的直接解法和迭代解法,非线性方程求根,矩阵特征值问题计算、常微分方程初值问题数值解法2.解决的问题:(1)最小二乘拟合方法的实际应用曲线拟合就是拟合测量数据曲线。所选择的曲线有时通过数据点,但在其他点上,曲线接近它们而不必通过它们13,41在大多数情况下,选择曲线使得数据点的平方误差和最小。这种选择就是最小二乘曲线拟合。下面介绍一下最小二乘法拟合的基本原理。设已知 个数据点 )(i=0,1, 一1),求(m一1) 次最小二乘拟合多项式:其中设拟合多项式为各正交多项式:的线性组合:则继续

2、往向下推导得:继续推导最后可得一般形式的m一1次多项式:即为最小二乘拟合多项 式 其拟合精度由下式来评定:应用实例: 某建筑物176 d水平位移测量数据如下表所示,在程序编制过程中,为了防止运算溢出,xi用来代替,其中x=(i=0n-1)xi/n。此时,拟合多项式的形式为: 此时,拟合多项式的形式为: 运用最小二乘多项式拟合时,拟合多项式的次数越高,其拟合精度未必越高 。以拟合最高次数l9次为例,拟合系数如表2,拟合的精度评定见表3。根据水平位移的观测数据,实现了累计观测时间与水平位移的曲线拟合,在有限的测量数据条件下,表述了时间与该建筑物水平位移之间的函数关系。曲线拟合的最小二乘法在解决这类

3、问题的数据处理和误差分析中应用非常广泛,提高了数据处理的效率和精确度,最d-乘曲线拟合实现方法简明、适用,可应用于类似的测量数据处理和实验研究。举例:在万能拉拨机中有一个园柱形凸轮,其底园半径R=300mm,凸轮的上端面不在同一平面上,而要根据动杆位移变化的需要进行设计制造。按设计要求,将底园周18等分,旋转一周。第 个分点对应柱高 ,数据见下表。为了数控加工,需要计算出园周上任一点的柱高。凸轮高度的数据(单位:mm)分点0和1812345柱高502.8525.0514.3451.0326.5188.6分点67891011柱高92.259.662.2102.7147.1191.6分点12131

4、4151617柱高236.0280.5324.9369.4413.8458.3我们将园周展开,借助MATLAB软件画出对应的柱高曲线散点图(左下图)。clear;close;x=linspace(0,2*pi*300,19);y=502.8 ,525.0,514.3,451.0,326.5,188.6,92.2,59.6,62.2,102.7,147.1,191.6,236.0,280.5,324.9,369.4,413.8,458.3,502.8;plot(x,y,o);axis(0,2000,0,550); 可见,可以用三次多项式插值,下面给出借助MATLAB软件画出的柱高插值曲线图(右上

5、图)。xi=0:2*pi*300;yi=interp1(x,y,xi,cubic);plot(xi,yi);(2)数据插值方法及应用多项式插值 设有次多项式通过所有个点,那么就有可以证明当且时,这样的多项式存在且唯一。若要求得到函数表达式,可直接解上面方程组。若只要求得函数在插值点处数值,可用下列Lagrange插值公式多项式插值光滑但不具有收敛性,一般不宜采用高次多项式(如)插值。第二部分、水槽的液位控制1问题的提出耦合水槽如图3.7所示,对耦合水槽建模如下: (3-39)其中,为1号和2号水槽的截面积,分别是两个水槽的液面高度,,分别是两个水泵向水槽中注水的体积流速(),,分别是与,对应的

6、比例常数,通过升高或者降低挡板可以控制两个水槽之间的流速,关闭2号水泵,通过1号水泵向1号水槽中注水以控制2号水槽液面高度2用 MATLAB语言编程的方法实现水槽液位模糊控制系统的设计与仿真(1)建立模糊推理系统(FIS) 要想设计整个模糊控制系统 ,首先需要建立模糊推理系统 ,这也是建模的主要工作。采用MATLAB语言编程的方法 建立模糊推理系统的过程如下所述。1) 建立新的 FIS结构 设所建的 FIS结构为 FC. fis ,则命令行为:FC = newfis( FC ) ;这时便建立了一个新的名叫 FC的 mamdani 型系统。此时它的输入、输出及规则都还没有定义。2) 添加输入输出

7、变量 由于本例的模糊推理系统有两个输入变量 时间t 和 注入1号水的速度v ,一个输出变量为2号水槽液面高度h2 ,它们所对应的模糊语言变量 T的论域为 2,200 ,V的论域为 0,75 ,H2的论域为 0,15 。则用addvar函数添加这三个变量的命令行分别为如下:FC = addvar (FC , input , T , 2,200 ) ;FC = addvar (FC , input , V , 0,75 ) ;FC = addvar (FC , output , H , 0,15 ) ;3) 添加隶属度函数 已经加入模糊语言变量之后 ,下一步就是给每个语言变量添加隶属度函数。给变量

8、 T添加隶属度函数的语句如下:FC = addmf (FC , input ,1 , NB , trapmf , - 6 , - 6 , - 5 ,- 3 )FC = addmf (FC , input ,1 , NS , trapmf , - 5 , - 3 , - 2 ,0 ) ;FC = addmf (FC , input ,1 , ZR , trimf , - 2 ,0 ,2 ) ;FC = addmf (FC , input ,1 , PS , trapmf ,0 ,2 ,3 ,5 ) ;FC = addmf (FC , input ,1 , PB , trapmf ,3 ,5 ,6

9、 ,6 ) ;变量V和H2 隶属度函数添加的方法与 T类似。4) 设计并添加模糊推理规则表用编号的格式给本系统建立模糊列表。根据编制模糊列表的要求 ,给变量 T、 V及 U 的五个语言值 NB、 NS、 ZR、PS、 PB依次编号为 1、 2、 3、 4、 5 ,则根据前面定义好的规则表rulelist =1 1 1 1 1 2 2 3 3 4 4 5 5 5 5 51 2 3 4 5 1 2 1 2 1 2 1 2 3 4 55 5 4 4 3 5 4 4 4 4 3 3 3 2 2 1然后可用 addrule函数给模糊推理系统添加规则列表 ,添加规则列表的命令行如下:FC = addrul

10、e(FC ,rulelist) ;到此便基本上完成了模糊推理系统的建立。对于建立好的 FIS结构 FC. fis ,需要将它保存起来 ,以便在模糊控制系统中直接调用它。可以通过 writefis ( FC) 指令将它保存在MATLAB选取的当前路径下。(2)对整个模糊系统进行设计和仿真结合被控对象和已经建立的模糊推理系统 FC. fis ,对整个模糊控制系统进行建模 ,并设置相应的仿真参数: 给定输入 R = 1. 0 ;采样周期 T = 1s ,仿真时间长度 t为 200 秒;一型模糊控制系统选取参数如下: 二型模糊控制系统选取参数如下:,采用一定的算法(一型模糊控制系统 ,KM迭代降型的区

11、间二型模糊PI控制系统,Wu-Mendel近似法降型的区间二型模糊PI控制系统),计算出相应的响应输出。最后可得出模糊控制系统的阶跃响应曲线如下图所示。其中 ,横坐标代表时间t ,纵坐标代表输出响应 y。3 分析三个控制系统对应的性能指标如表3.1中所示,使用ITAE(时间乘绝对误差的积分)作为衡量控制系统的性能标准。从图3.8及表3.1的性能指标中,可以看出,使用KM迭代降型法的IT2模糊PI控制系统性能最优,然后为使用Wu-Mendel近似降型法的IT2模糊PI控制系统,一型模糊PI控制系统的性能最差。与一型模糊PI控制系统相比,使用KM迭代降型的IT2模糊PI控制系统在保持上升时间(从稳

12、态值10%上升至90%所需时间)不增加的情况下,减小了超调量和调节时间,而使用Wu-Mendel近似降型的IT2模糊PI控制系统在上升时间不明显增加时,超调量和调节时间只是略微下降,如表3.3所示。不同控制系统的性能对比系统类型T1模糊系统IT2模糊系统KMWu-Mendel上升时间(秒)303031超调量4.6289%2.4333%4.2686%调节时间(秒)937381性能指标(ITAE)6747.65927.96384.4注:,T为仿真截止时间程序:MATLAB程序:m1=min(P(:,2),P(:,3);m2=max(P(:,3),P(:,2);L=length(x);u=;l=;f

13、or i=1:Lif x(i)=m1 & x(i)(m1+m2)/2 & x(i)=m2mu1=1;mu2=gaussmf(x(i),sigma,m1);elsemu1=gaussmf(x(i),sigma,m1);mu2=gaussmf(x(i),sigma,m2);endu=u,max(mu1,mu2);l=l,min(mu1,mu2);endfunctionCA,CA1,CAr=centroid(A)left=min(A(1:8);right=max(A(1:8);dx=(right-left)/500;For j=1:501 X=left+(j-1)*dx; If x=A(4);upperA(j)=0; Elseif xA(1)&x=A(2)&x=A(3); upperA(j)=1; Else upperA(j)=(A(4)-x)/(A(4)-A(3); End

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论