matlab仿真课件,matlab仿真设计ppt(全)课件.ppt

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值