下载此文档

0604090108 帅晶.doc


文档分类:幼儿/小学教育 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
《MATLAB程序设计实践》课程考核班级:材料0901班学号:0604090108姓名:帅晶 1、编程实现以下科学计算算法,并举一例应用之。“中点公式法和五点公式法求数值微分”2、编程解决以下科学计算和工程实际问题。①已知阿波罗(Apollo)卫星的运动轨迹(x,y)满足下列微分方程其中=,=1-,,试在初值x(0)=,,下进行数值求解,并绘制出阿波罗卫星位置(x,y)的轨迹。②实验图所示是一个跷跷板,两板夹角为120°,,上面的小孩重150N,右边板长为2m,,左边木板与水平方向的夹角ɑ的大小。要求先求解析解,然后给出两种解决方案。解答过程1、编程实现以下科学计算算法,并举一例应用之。“中点公式法和五点公式法求数值微分”解:①中点公式法(1)算法说明:基本思想是用函数值的线性组合近似函数在某点的导数值。由导数的定义:在MATLAB中编程实现中点公式函数为:Midpoint。功能:中点公式求取导数。调用格式:df=Midpoint(func,x0,h)。其中:func为函数名;x0为求导点;h为离散步长;df为导数值。(2)流程图:(3)源程序:functiondf=MidPoint(func,x0,h)%采用中点公式,求取函数func在x0处的导数%函数名:func%求导点:x0%离散步长:h%导数值:dfifnargin==2h=;elseif(nargin==3&&h==)disp('h不能为0!');return;endendy1=subs(sym(func),findsym(sym(func)),x0+h);%将函数func中的求导点x0用x0+h代替y2=subs(sym(func),findsym(sym(func)),x0-h);df=(y1-y2)/(2*h);(4)应用实例:采用中点公式法求函数f=在x=4处的导数。在命令窗中输入:>>df=MidPoint('sqrt(x)',4)运行结果:②五点公式法(1)算法说明:五点公式是由等距节点插值公式得来的,其思想是先将函数用等距节点公式进行插值,然后对插值多项式求导数,再取有限的项数。在MATLAB中编程实现的五点公式法函数为:FivePoint。功能:五点公式法求函数导数。调用格式:df=FivePoint(func,x0,type,h)。其中,func为函数名;x0为求导点;type为五点公式的五种形式;h为离散步长;df为导数值。(2)流程图:(3)源程序:functiondf=FivePoint(func,x0,type,h)%采用五点公式,求取函数func在x0处的导数%函数名:func%求导点:x0%公式的形式:type(取值为1,2,3,4,5)%离散步长:h%导数值:dfifnargin==3h=;elseif(nargin==4&&h==)disp('h不能为0!');return;endendy0=subs(sym(func),findsym(sym(func)),x0);y1=subs(sym(func),findsym(sym(func)),x0+h);%将函数func中的求导点x0用x0+h代替y2=subs(sym(func),findsym(sym(func)),x0+2*h);y3=subs(sym(func),findsym(sym(func)),x0+3*h);y4=subs(sym(func),findsym(sym(func)),x0+4*h);y_1=subs(sym(func),findsym(sym(func)),x0-h);y_2=subs(sym(func),findsym(sym(func)),x0-2*h);y_3=subs(sym(func),findsym(sym(func)),x0-3*h);y_4=subs(sym(func),findsym(sym(func)),x0-4*h);switchtypecase1,df=(-25*y0+48*y1-36*y2+16*y3-3*y4)/(12*h);case2,df=(-3*y_1-10*y0+18*y1-6*y2+y3)/(12*h);case3,df=(y_2-8*y_1+8*y1-y2)/(12*h);case4,df=(3*y1+10*y0-18*y_1+6*y_2-y_3)/(12*h);case5,df=(25*y0-48*y_1+36*y_2-16*y_3+3*y_4)/(12*h);end(4)应用实例:采用五点公式法求函数f=sin(x)在x=2处的导数。在命令窗中输入:>>df1=FivePoint('sin(x)',2,1)df2=FivePoint

0604090108 帅晶 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花花世界
  • 文件大小443 KB
  • 时间2019-01-24