第2章数值计算.pptVIP

  • 0
  • 0
  • 约2.01千字
  • 约 11页
  • 2025-10-21 发布于广东
  • 举报

第1页,共11页,星期日,2025年,2月5日主要内容排序插值(复习)拟合(复习)非线性方程(组)的数值解(重点)常微分方程(组)的数值求解(重点)第2页,共11页,星期日,2025年,2月5日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第3页,共11页,星期日,2025年,2月5日2插值一维插值:Y1=interp1(X,Y,X1,method)函数根据X、Y的值,计算函数在X1处的值。X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear(线性插值)、nearest(最近插值)、spline(三次样条插值)、cubic(三次多项式插值),缺省值是linear。第4页,共11页,星期日,2025年,2月5日例:已知检测参数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*);第5页,共11页,星期日,2025年,2月5日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-)第6页,共11页,星期日,2025年,2月5日任意函数类型拟合:a=lsqcurvefit(fun,a0,x,y)第1个参数是函数名(一个同名的m文件定义),第2个参数是初值,第3、4个参数是已知数据点。函数返回需要确定的参数a,使得函数fun最符合已知点。例:x=1790:10:1990;y=[3.95.37.29.612.917.123.231.438.650.262.97692106.5123.2131.7150.7179.3204226.5251.4];a0=[0.001,1];%初值a=lsqcurvefit(example_curvefit_fun,a0,x,y);functionf=example_curvefit_fun(a,t)f=exp(a(1)*t+a(2));第7页,共11页,星期日,2025年,2月5日练习某气象观测站测得某日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]区间的函数曲线。第8页,共11页,星期日,2025年,2月5日

文档评论(0)

1亿VIP精品文档

相关文档