第2章节 matlab数值计算.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章节 matlab数值计算

数学建模讲义 matlab数值计算 主要内容 排序 插值(复习) 拟合(复习) 非线性方程(组)的数值解(重点) 常微分方程(组)的数值求解(重点) 1 排序 MATLAB中对向量X是排序函数是sort(X),函数返回一个对X中的元素按升序排列的新向量。 sort函数也可以对矩阵A的各列(或行)重新排序,其调用格式为: [Y,I]=sort(A,dim,mode) 其中dim指明对A的列还是行进行排序,若dim=1,则按列排,若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置,mode=’ascend’或’descend’。 例: A=[1,-8,5;4,12,6;13,7,-13]; sort(A) %对A的每列按升序排序 -sort(-A,2) %对A的每行按降序排序 [X,I]=sort(A) %对A按列排序,并将每个元素所在行号送矩阵I 2 插值 一维插值:Y1=interp1(X,Y,X1,method) 函数根据X、Y的值,计算函数在X1处的值。X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear(线性插值)、nearest(最近插值)、spline(三次样条插值)、cubic(三次多项式插值),缺省值是linear。 例: 已知检测参数f随时间t的采样结果,用数值插值法计算t=2,7,12,17,22,17,32,37,42,47,52,57时f的值。 这是一个一维数值插值问题,命令如下: T=0:5:65; %已知点 X=2:5:57; %待求点 F=[3.2015,2.2560,879.5,1835.9,2968.8,4136.2,5237.9,6152.7, 6725.3,6848.3,6403.5,6824.7,7328.5,7857.6]; %已知值 F1=interp1(T,F,X) %用线性方法插值 F1=interp1(T,F,X,nearest) %用最近方法插值 F1=interp1(T,F,X,spline) %用三次样条方法插值 F1=interp1(T,F,X,‘cubic’) %用三次多项式方法插值 plot(T,F,-,T,F,o,X,F1,r*); 3 拟合 多项式拟合:[P,S]=polyfit(X,Y,m) 函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。 其中X、Y是两个等长的向量,P是一个长度为m+1的向量。 例:用一个5次多项式在区间[0,2π]内逼近函数sin(x): X=linspace(0,2*pi,50);Y=sin(X); [P,S]=polyfit(X,Y,5) %得到5次多项式的系数和误差 plot(X,Y,k*,X,polyval(P,X),k-) 任意函数类型拟合: a=lsqcurvefit(fun,a0,x,y) 第1个参数是函数名(一个同名的m文件定义),第2个参数是初值,第3、4个参数是已知数据点。函数返回需要确定的参数a,使得函数fun最符合已知点。 例: x=1790:10:1990; y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4]; a0=[0.001,1]; % 初值 a=lsqcurvefit(example_curvefit_fun,a0,x,y); function f=example_curvefit_fun(a,t) f=exp(a(1)*t+a(2)); 练习 某气象观测站测得某日6:00-14:00之间每隔2小时的温度如下: 试用三次样条插值求出该日到达21.5度时的时刻。 已知lg(x)在[1,101]区间11个整数采样点x=1:10:101的函数值lg(x),试求lg(x)的5次拟合多项式p(x),并分别绘制出lg(x)和p(x)在[1,101]区间的函数曲线。 插值与拟合的异同 插值和拟合都是根据一些离散点来估计另一些点的函数值,都是要假设函数类型然后进行参数估计。 插值并不需要具体函数表达式,一般都是分段的,目标是使得已知所有点的坐标都满足该分段函数,并且去估计出已知离散点中间的未知点的函数值。 而拟合就是要求出具体函数表达式,一般不是分段的,目标是尽量的符合这些离散点(放弃了插值的精确性),从而研究这个函数的性质,或者估计一些未知点的值(通常

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档