matlab代码--数值微分

matlab代码--数值微分

ID:10509496

大小:82.50 KB

页数:9页

时间:2018-07-07

matlab代码--数值微分_第1页
matlab代码--数值微分_第2页
matlab代码--数值微分_第3页
matlab代码--数值微分_第4页
matlab代码--数值微分_第5页
资源描述:

《matlab代码--数值微分》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数值微分1.MidPoint中点公式求取导数functiondf=MidPoint(func,x0,h)ifnargin==2h=0.1;elseif(nargin==3&&h==0.0)disp('h不能为0!');return;endendy1=subs(sym(func),findsym(sym(func)),x0+h);y2=subs(sym(func),findsym(sym(func)),x0-h);df=(y1-y2)/(2*h);2.ThreePoint三点法求函数的导数functiondf=ThreePoint(func,x0,type,h)ifnargin==3h=0.1

2、;elseif(nargin==4&&h==0.0)disp('h不能为0!');return;endendy0=subs(sym(func),findsym(sym(func)),x0);y1=subs(sym(func),findsym(sym(func)),x0+h);y2=subs(sym(func),findsym(sym(func)),x0+2*h);y_1=subs(sym(func),findsym(sym(func)),x0-h);y_2=subs(sym(func),findsym(sym(func)),x0-2*h);switchtypecase1,df=(-3*y0+

3、4*y1-y2)/(2*h);%用第一个公式求导数case2,df=(3*y0-4*y_1+y_2)/(2*h);%用第二个公式求导数case3,df=(y1-y_1)/(2*h);%用第三个公式求导数end3.FivePoint五点法求函数的导数functiondf=FivePoint(func,x0,type,h)ifnargin==3h=0.1;elseif(nargin==4&&h==0.0)disp('h不能为0!');return;endendy0=subs(sym(func),findsym(sym(func)),x0);y1=subs(sym(func),findsym(sy

4、m(func)),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(

5、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_

6、4)/(12*h);%用第五个公式求导数end4.DiffBSample三次样条法求函数的导数functiondf0=DiffBSample(func,x0,n,h)formatlong;node_num=2*n+1;fori=1:node_numy(i)=subs(sym(func),findsym(sym(func)),x0-n*h+i*h-h);endy_1=(-3*y(1)+4*y(2)-y(3))/(2*h);y_N=(3*y(2*n+1)-4*y(2*n)+3*y(2*n-1))/(2*h);c=SubBSample(h,2*n,y,y_1,y_N);df0=(c(n+3)-c(

7、n+1))/2/h;formatshort;functionc=SubBSample(h,n,y,y_1,y_N)f0=0.0;c=zeros(n+3,1);b=zeros(n+1,1);A=diag(4*ones(n+1,1));I=eye(n+1,n+1);AL=[I(2:n+1,:);zeros(1,n+1)];AU=[zeros(1,n+1);I(1:n,:)];A=A+AL+AU;%形成系数矩阵fo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。