matlab仿真设计ppt(全)讲义.ppt

  1. 1、本文档共345页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab仿真设计ppt(全)讲义

8.3 数值积分 * 260 Matlab Programing 举例:求解定积分 用quad指令求积分 ff=inline(sqrt(log(1./x)),x); Isim=quad(ff,0,1) Warning: Divide by zero. In inlineeval at 13 In inline.subsref at 25 In quad at 63 Isim = 0.8862 8.4 元素排序 * 261 Matlab Programing Matlab中对向量X排序的函数是sort(X), 函数返回一个对 X中的元素按升序排列的新向量。 sort函数也可以对矩阵A的各列(或行)重新排序,其调 用格式为: [Y,I] = sort(A,dim) dim=1,按列排序;dim=2,按行排序,Y是排序后的矩阵, I记录Y中的元素在A中的位置。 例:对下列矩阵做各种排序。 * 262 Matlab Programing 命令如下: A = [1,-8,5;4,12,6;13,7,-13]; sort(A) ans = 1 -8 -13 4 7 5 13 12 6 -sort(-A,2) %对A的每行按降序排列 ans = 5 1 -8 12 6 4 13 7 -13 8.5 数据插值 * 263 Matlab Programing 在工程测量和科学实验中,所得到的数据通常是离散的,要得到 这些离散点以外的其他点的数值,就需要根据已知的数据进行插值。 插值函数一般由线性函数、多项式、样条函数或这些函数的分段函 数充当。 一维数据插值:被插值函数有一个单变量。 采用的方法有:线性方法、最近方法、三次样条和三次插值。 在Matlab中实现这些插值的函数是interp1,其调用格式如下: Y1 = interp1(X,Y,X1,method) 函数根据X,Y的值,计算函数在X1处的值。 X,Y是两个等长的已知向量,分别描述采样点和样本值; X1是一个向量或标量,描述欲插值的点; Y1是一个与X1等长的插值结果。 method是插值方法,允许的取值为: 8.5 数据插值 (1)‘linear’:线性插值。默认的插值方式。它是把插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。 (2)‘nearest’:最近点插值。根据已知插值点与已知数据点的远近程度进行插值。插值点优先选择较近的数据点进行插值。 (3)‘cubic’:3次多项式插值。根据已知数据求出一个3次多项式,然后根据该多项式进行插值。 (4)‘spline’:3次样条插值。指在每个分段内构造一个3次多项式,使其满足插值条件外,在各节点处具有光滑的条件。 例:给出概率积分数据表如下,用不同的插值方法计算f(0.472)。 x 0.46 0.47 0.48 0.49 f(x) 0.4846555 0.4937542 0.5027498 0.5116683 * 264 Matlab Programing * 265 Matlab Programing 命令如下: x = 0.46:0.01:0.49; f = [0.4846555,0.4937542,0.5027498,0.5116683]; format long interp1(x,f,0.472) ans = 0.49555332000000 interp1(x,f,0.472,’nearest’) ans = 0.49375420000000 interp1(x,f,0.472,’spline’) ans = 0.49556073600000 interp1(x,f,0.472,’cubic’) ans = 0.49556111971206 其中,3次样条和3次多项式的插值结果优于最近点插值方法和线性插值方法,但插值方法的好坏依赖于被插值函数,没有一种对所有函数都是最好的插值方法。 8.6 曲线拟合 * 266 Matlab Programing 数值插值要求逼近函数在采样点与被逼近函数相等,但由于测量 误差,所获得的数据不一定准确,如果强求逼近显然不够合理。 曲线拟合不要求逼近函数通过各采样点,但要尽量的接近这些点,使 误差在某种意义上达到最小。 曲线拟合的实现: 在matlab中,用polyfit函数来求得最小二乘拟合多项式的系数,再用 polyval函数按所得的多项式计算所给出点上的函数近似值。 polyfit函数的调用格式为: [P,S] = polyfit(X,Y,m) 函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样 点的误差

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档