MATLAB在计算方法中的应用

MATLAB在计算方法中的应用

ID:36412187

大小:247.25 KB

页数:39页

时间:2019-05-09

MATLAB在计算方法中的应用_第1页
MATLAB在计算方法中的应用_第2页
MATLAB在计算方法中的应用_第3页
MATLAB在计算方法中的应用_第4页
MATLAB在计算方法中的应用_第5页
资源描述:

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

1、MATLAB在计算方法中的应用MATLAB入门到精通插值与拟合插值与拟合来源于实际,又广泛应用于实际。随着计算机的不断发展及计算水平的不断提高,他们在国民生产和科学研究等方面扮演着越来越重要的角色。插值法主要有Lagrange插值、分段线性插值、Hermite插值及三次样条插值等拟合法主要有最小二乘法拟合和快速Fourier变换等Lagrange插值对给定的n个插值节点及相应的函数值,利用n次Lagrange插值多项式对插值区间内任意x的函数值y可通过下式求得:MATLAB实现functiony=l

2、agrange(x0,y0,x)%lagrangeinsertn=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;end例:f(x)=lnxx0.40.50.60.70.8ln(x)-0.916291-0.693147-0.510826-0.357765-0.223144>>x=[0.4:0.1

3、:0.8];>>y=[-0.916291-0.693147-0.510826-0.356675-0.223144];>>lagrange(x,y,0.54)ans=-0.61614>>log(0.54)ans=-0.61619Runge现象19世纪Runge给出了一个等距节点插值多项式不收敛的例子:在区间[-5,5]上各阶导数存在,但在此区间上取n个节点构造的Lagrange插值多项式在全区间上不收敛。Runge现象在区间[-5,5]上,取n=10,用lagrange插值法进行插值计算:>>x=[-

4、5:1:5];>>y=1./(1+x.^2);>>x0=[-5:0.1:5];>>y0=lagrange(x,y,x0);>>y1=1./(1+x0.^2);>>plot(x0,y0,'--r')>>holdon>>plot(x0,y1,'-b')分段线性插值分段线性插值就是通过插值点用折线段连接起来逼近原曲线。MATLAB实现interp1一维插值yi=interp1(x,y,xi)%对一组节点(x,y)进行插值,计算插值点xi的函数值。yi=interp1(y,xi)%默认x=1:nyi=int

5、erp1(x,y,xi,’method’)%method为指定插值算法nearest线性最近项插值linear线性插值spline三次样条插值cubic三次插值同类的函数还有inter1q,interpft,spline,interp2,interp3,interpn等例:正弦曲线插值>>x=0:0.1:10;>>y=sin(x);>>xi=0:.25:10;>>yi=interp1(x,y,xi);>>plot(x,y,'o',xi,yi)例:Rouge现象的解决>>x=[-5:1:5];>>y=

6、1./(1+x.^2);>>x0=[-5:0.1:5];>>y1=1./(1+x0.^2);>>y2=interp1(x,y,x0);>>plot(x0,y0,'--r')>>holdon>>plot(x0,y1,'-b')>>plot(x0,y2,'*m')Hermite插值不少问题不但要求在节点上函数值相等,而且要求导数值也相等,甚至要求高阶导数也相等,可用Hermite插值多项式。已知n个插值节点及其对应的函数值和一阶导数值,则计算插值区域内任意x的函数值y的Hermite插值公式为:MATL

7、AB实现functiony=hermite(x0,y0,y1,x)%hermiteinsertn=length(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例:根据如下给定数

8、据,给出0.34处的值X0.300.320.35Sinx0.295520.314570.34290Cosx0.955340.949240.93937>>x0=[0.30.320.35];>>y0=[0.295520.314570.34290];>>y1=[0.955340.949240.93937];>>x=[0.3:0.005:0.35];>>y=hermite(x0,y0,y1,0.34)y=0.33349>>sin(0.34)ans=0.33349>>y=her

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

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

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