5matlab在计算方法中的高级应用分析

5matlab在计算方法中的高级应用分析

ID:5994677

大小:140.50 KB

页数:23页

时间:2017-11-16

5matlab在计算方法中的高级应用分析_第1页
5matlab在计算方法中的高级应用分析_第2页
5matlab在计算方法中的高级应用分析_第3页
5matlab在计算方法中的高级应用分析_第4页
5matlab在计算方法中的高级应用分析_第5页
资源描述:

《5matlab在计算方法中的高级应用分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Matlab在计算方法中的应用插值与拟合积分与微分求解线型方程组求解非线性方程组常微分方程的解法1.插值与拟合Lagrange插值%lagrangeinsertfunctiony=lagrange(x0,y0,x)n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;forj=1:nifj~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;endend>>x=[0.4:0.1:0.8];>>y=[-0.916-0.693-0.510-0.356-0.223];

2、>>lagrange(x,y,0.54)ans=-0.6161对给定n个插值节点x1,x2,…,xn及对应函数值y1,y2,…,yn,利用(n-1)次lagrange插值多项式公式,求得插值区间任意x的函数值y分段线型插值:所谓分段线型插值就是通过插值点用折线段连接起来逼近原曲线yi=interp1(x,y,xi)对节点向量(x,y)插值,求xi对应的yi值yi=interp1(y,xi)默认x=1:n,n为向量y的长度值yi=interp1(x,y,xi,’method’)method指定插值的算法,默认为线型算法,可取值为:‘nearest’-线性最近项插值;‘linear’-线性插值

3、;‘spline’-立方样条插值;‘cubic’-立方插值。>>x=0:0.1:10;>>y=sin(x);>>xi=0:0.25:10;>>yi=interp1(x,y,xi);>>plot(x,y,'o',xi,yi)同类函数:interp1q、interpft、spline、interp2、interp3、interpnHermite插值要求插值点上函数值和导数值都相等xi,yi,yi’分别为插值节点、对应函数值和对应一阶倒数值。自编程序函数:y=hermite(x0,y0,y1,0.34);functiony=hermite(x0,y0,y1,x)%hermiteinsertn=l

4、ength(x0);m=length(x);fork=1:myy=0.0;fori=1:nh=1.0;a=0.0;forj=1:nifj~=ih=h*((x(k)-x0(j))/(x0(i)-x0(j)))^2;a=1/(x0(i)-x0(j))+a;endendyy=yy+h*((x0(i)-x(k))*(2*a*y0(i)-y1(i))+y0(i));endy(k)=yy;end三次样条插值设区间[a,b]上给定的有关划分a=x0

5、有关三次样条函数。常用的三次样条函数的边界条件有三种类型I型,S’(x0)=f’0,S’(xn)=f’n;II型,S’’(x0)=f’’0,S’’(xn)=f’’n;特殊情况为都等于0;III型,Sj(x0)=Sj(xn),j=0,1,2,…;周期样条函数。自编II型程序函数如下:s=spline2(x0,y0,y21,y2n,x)functions=spline2(x0,y0,y21,y2n,x)%s=spline2(x0,y0,y21,y2n,x)%x0,y0areexistedpoints,xareinsertpoints,%y21,y2nareseconddirivitivenum

6、bersgivenn=length(x0);km=length(x);a(1)=-0.5;b(1)=3*(y0(2)-y0(1))/(2*(x0(2)-x0(1)));forj=1:(n-1)h(j)=x0(j+1)-x0(j);endforj=2:(n-1)alpha(j)=h(j-1)/(h(j-1)+h(j));beta(j)=3*((1-alpha(j))*(y0(j)-y0(j-1))/h(j-1)+...alpha(j)*(y0(j+1)-y0(j))/h(j));a(j)=-alpha(j)/(2+(1-alpha(j))*a(j-1));b(j)=(beta(j)-(1-a

7、lpha(j))*b(j-1))/(2+(1-alpha(j))*a(j-1));endm(n)=(3*(y0(n)-y0(n-1))/h(n-1)+y2n*h(n-1)/2-b(n-1))/(2+a(n-1));forj=(n-1):-1;1m(j)=a(j)*m(j+1)+b(j);endfork=1:kmforj=1:(n-1)if((x(k)>=x0(j))&(x(k)

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

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

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