第2章数值计算PPT讲稿.ppt

上传人:石*** 文档编号:43303489 上传时间:2022-09-17 格式:PPT 页数:11 大小:660.50KB
返回 下载 相关 举报
第2章数值计算PPT讲稿.ppt_第1页
第1页 / 共11页
第2章数值计算PPT讲稿.ppt_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《第2章数值计算PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章数值计算PPT讲稿.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章数值计算章数值计算第1页,共11页,编辑于2022年,星期一主要内容主要内容1.排序排序2.插值插值(复习)(复习)3.拟合拟合(复习)(复习)4.非线性方程(组)的数值解非线性方程(组)的数值解(重点)(重点)5.常微分方程(组)的数值求解常微分方程(组)的数值求解(重点)(重点)第2页,共11页,编辑于2022年,星期一1 排序排序lMATLAB中对向量中对向量X是排序函数是是排序函数是sort(X),函数返回,函数返回一个对一个对X中的元素按升序排列的新向量。中的元素按升序排列的新向量。lsort函数也可以对矩阵函数也可以对矩阵A的各列的各列(或行或行)重新排序,其调重新排序,其

2、调用格式为:用格式为:lY,I=sort(A,dim,mode)l其中其中dim指明对指明对A的列还是行进行排序,若的列还是行进行排序,若dim=1,则按列排,若则按列排,若dim=2,则按行排。,则按行排。Y是排序后的矩阵,是排序后的矩阵,而而I记录记录Y中的元素在中的元素在A中位置中位置,modeascend或或descend。l例:例:A=1,-8,5;4,12,6;13,7,-13;sort(A)%对对A的每列按升序排序的每列按升序排序-sort(-A,2)%对对A的每行按降序排序的每行按降序排序X,I=sort(A)%对对A按列排序,并将每个元素所在行号送矩阵按列排序,并将每个元素所

3、在行号送矩阵I第3页,共11页,编辑于2022年,星期一2 插值插值l一维插值:一维插值:Y1=interp1(X,Y,X1,method)l函数根据函数根据X、Y的值,计算函数在的值,计算函数在X1处的值。处的值。X、Y是两个等长的已知向量,分别描述采是两个等长的已知向量,分别描述采样点和样本值,样点和样本值,X1是一个向量或标量,描是一个向量或标量,描述欲插值的点,述欲插值的点,Y1是一个与是一个与X1等长的插值等长的插值结果。结果。method是插值方法,允许的取值有是插值方法,允许的取值有linear(线性插值线性插值)、nearest(最近插值最近插值)、spline(三次样条插值三

4、次样条插值)、cubic(三次多项(三次多项式插值),缺省值是式插值),缺省值是linear。第4页,共11页,编辑于2022年,星期一例:例:已知检测参数已知检测参数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

5、.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页,编辑于2022年,星期一3 拟合拟合l多项式拟合:多项式拟合:P,S=polyfit(X,Y,m)l函数根据采样点函数根据采样点X和采样

6、点函数值和采样点函数值Y,产生一,产生一个个m次多项式次多项式P及其在采样点的误差向量及其在采样点的误差向量S。l其中其中X、Y是两个等长的向量,是两个等长的向量,P是一个长度是一个长度为为m+1的向量。的向量。l例:例:用一个用一个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页,编辑于2022年,星期一l任意函数类型拟合:任意函数类型拟合:a=l

7、sqcurvefit(fun,a0,x,y)l第第1个参数是函数名(一个同名的个参数是函数名(一个同名的m文件定义),第文件定义),第2个参个参数是初值,第数是初值,第3、4个参数是已知数据点。函数返回需要确定个参数是已知数据点。函数返回需要确定的参数的参数a,使得函数,使得函数fun最符合已知点。最符合已知点。l例:例: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=

8、lsqcurvefit(example_curvefit_fun,a0,x,y);function f=example_curvefit_fun(a,t)f=exp(a(1)*t+a(2);第7页,共11页,编辑于2022年,星期一练习练习1.1.某气象观测站测得某日某气象观测站测得某日6:00-14:006:00-14:00之间之间每隔每隔2 2小时的温度如下:小时的温度如下:试用三次样条插值求出该日到达试用三次样条插值求出该日到达21.521.5度时度时的时刻。的时刻。2.2.已知已知lg(x)在在1,101区间区间11个整数采样点个整数采样点x=1:10:101的函数值的函数值lg(x)

9、,试求,试求lg(x)的的5次拟合多项式次拟合多项式p(x),并分别绘制出,并分别绘制出lg(x)和和p(x)在在1,101区间的函数曲线。区间的函数曲线。第8页,共11页,编辑于2022年,星期一插值与拟合的异同插值与拟合的异同l插值和拟合都是根据一些离散点来估计另一些插值和拟合都是根据一些离散点来估计另一些点的函数值,都是要假设函数类型然后进行参点的函数值,都是要假设函数类型然后进行参数估计。数估计。l插值并不需要具体函数表达式,一般都是分段插值并不需要具体函数表达式,一般都是分段的,目标是使得已知所有点的坐标都满足该分的,目标是使得已知所有点的坐标都满足该分段函数,并且去估计出已知离散点

10、中间的未知段函数,并且去估计出已知离散点中间的未知点的函数值。点的函数值。l而拟合就是要求出具体函数表达式,一般不是而拟合就是要求出具体函数表达式,一般不是分段的,目标是尽量的符合这些离散点(放弃分段的,目标是尽量的符合这些离散点(放弃了插值的精确性),从而研究这个函数的性质,了插值的精确性),从而研究这个函数的性质,或者估计一些未知点的值(通常是未来的而不或者估计一些未知点的值(通常是未来的而不是已知点中间的)。是已知点中间的)。第9页,共11页,编辑于2022年,星期一1单变量非线性方程求解:单变量非线性方程求解:x,fval=fzero(f,x0,tol)l该函数采用迭代法计算函数该函数

11、采用迭代法计算函数f(x)的一个零点,迭代初值为的一个零点,迭代初值为x0,当两次迭代结果小于当两次迭代结果小于tol时停止迭代过程。时停止迭代过程。tol的缺省值是的缺省值是eps。l注意,在调用函数注意,在调用函数fzero 之前,要使用之前,要使用m文件建立自己要计算的函文件建立自己要计算的函数数f(x),只有定义了函数,只有定义了函数f(x)的的m文件后,才能在文件后,才能在fzero函数的参函数的参数中使用自定义函数名。数中使用自定义函数名。(注:此步也可用注:此步也可用inline函数定义函数定义)例:例:求求f(x)=x-1/x+5 在在x0=-5作为迭代初值时的零点。作为迭代初

12、值时的零点。先编制一个函数文件先编制一个函数文件fz.m:function f=fz(x)f=x-1/x+5;然后,在然后,在MATLAB命令窗口,输入命令:命令窗口,输入命令:fzero(fz,-5)4 非线性方程(组)的数值解非线性方程(组)的数值解第10页,共11页,编辑于2022年,星期一2非线性方程组求解:非线性方程组求解:X,fval=fsolve(F,X0)l参数意义同参数意义同fzero,只不过,只不过X0为向量。为向量。例:例:求圆和直线的两个交点。求圆和直线的两个交点。(可先观察下这个方程组初步估计可先观察下这个方程组初步估计初始点)初始点)建立方程组函数文件建立方程组函数文件fxyz2.m:function F=fxyz2(X)x=X(1);y=X(2);z=X(3);F(1)=x2+y2+z2-9;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;在在MATLAB命令窗口,输入命令:命令窗口,输入命令:X1=fsolve(fxyz2,-1,1,-1)%求直线与球面的第一个交点求直线与球面的第一个交点X2=fsolve(fxyz2,1,-1,1)%求直线与球面的第二个交点求直线与球面的第二个交点第11页,共11页,编辑于2022年,星期一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁