MATLAB-插值算法实现(共8页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《MATLAB-插值算法实现(共8页).doc》由会员分享,可在线阅读,更多相关《MATLAB-插值算法实现(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1.高斯插值function f = Gauss(x,y,x0)if(length(x) = length(y) n = length(x);else disp(x和y的维数不相等!); return;endxx =linspace(x(1),x(n),(x(2)-x(1);if(xx = x) disp(节点之间不是等距的!); return;endif( mod(n,2) =1) if(nargin = 2) f = GStirling(x,y,n); else if(nargin = 3) f = GStirling(x,y,n,x0); end endelse
2、 if(nargin = 2) f = GBessel(x,y,n); else if(nargin = 3) f = GBessel(x,y,n,x0); end endendfunction f = GStirling(x,y,n,x0)syms t;nn = (n+1)/2;f = y(nn);for(i=1:n-1) for(j=i+1:n) y1(j) = y(j)-y(j-1); end if(mod(i,2)=1) c(i) = (y1(i+n)/2)+y1(i+n+2)/2)/2; else c(i) = y1(i+n+1)/2)/2; end if(mod(i,2)=1) l
3、 = t+(i-1)/2; for(k=1:i-1) l = l*(t+(i-1)/2-k); end else l_1 = t+i/2-1; l_2 = t+i/2; for(k=1:i-1) l_1 = l_1*(t+i/2-1-k); l_2 = l_2*(t+i/2-k); end l = l_1 + l_2; end l = l/factorial(i); f = f + c(i)*l; simplify(f); f = vpa(f, 6); y = y1; if(i=n-1) if(nargin = 4) f = subs(f,t,(x0-x(nn)/(x(2)-x(1); end
4、 endendfunction f = GBessel(x,y,n,x0)syms t;nn = n/2;f = (y(nn)+y(nn+1)/2;for(i=1:n-1) for(j=i+1:n) y1(j) = y(j)-y(j-1); end if(mod(i,2)=1) c(i) = y1(i+n+1)/2)/2; else c(i) = (y1(i+n)/2)+y1(i+n+2)/2)/2; end if(mod(i,2)=0) l = t+i/2-1; for(k=1:i-1) l = l*(t+i/2-1-k); end else l_1 = t+(i-1)/2; l_2 = t
5、+(i-1)/2-1; for(k=1:i-1) l_1 = l_1*(t+(i-1)/2-k); l_2 = l_2*(t+(i-1)/2-1-k); end l = l_1 + l_2; end l = l/factorial(i); f = f + c(i)*l; simplify(f); f = vpa(f, 6); y = y1; if(i=n-1) if(nargin = 4) f = subs(f,t,(x0-x(nn)/(x(2)-x(1); end endend2. Hermite(艾尔米特)插值 function f = Hermite(x,y,y_1,x0)syms t;
6、f = 0.0;if(length(x) = length(y) if(length(y) = length(y_1) n = length(x); else disp(y和y的导数的维数不相等!); return; endelse disp(x和y的维数不相等!); return;endfor i=1:n h = 1.0; a = 0.0; for j=1:n if( j = i) h = h*(t-x(j)2/(x(i)-x(j)2); a = a + 1/(x(i)-x(j); end end f = f + h*(x(i)-t)*(2*a*y(i)-y_1(i)+y(i); if(i=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 算法 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内