三次样条插值自然边界条件

上传人:94****0 文档编号:60641920 上传时间:2022-03-08 格式:DOC 页数:3 大小:53.50KB
返回 下载 相关 举报
三次样条插值自然边界条件_第1页
第1页 / 共3页
三次样条插值自然边界条件_第2页
第2页 / 共3页
三次样条插值自然边界条件_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
精选优质文档-倾情为你奉上例:已知一组数据点,编写一程序求解三次样条插值函数满足 并针对下面一组具体实验数据0.250.30.390.450.530.50000.54770.62450.67080.7280求解,其中边界条件为.1)三次样条插值自然边界条件源程序:function s=spline3(x,y,dy1,dyn)%x为节点,y为节点函数值,dy1,dyn分别为x=0.25,0.53处的二阶导m=length(x);n=length(y);if m=n error(x or y输入有误) returnendh=zeros(1,n-1);h(n-1)=x(n)-x(n-1);for k=1:n-2 h(k)=x(k+1)-x(k); v(k)=h(k+1)/(h(k+1)+h(k); u(k)=1-v(k);endg(1)=3*(y(2)-y(1)/h(1)-h(1)/2*dy1;g(n)=3*(y(n)-y(n-1)/h(n-1)+h(n-1)/2*dyn;for i=2:n-1 g(i)=3*(u(i-1)*(y(i+1)-y(i)/h(i)+v(i-1)*(y(i)-y(i-1)/h(i-1);endfor i=2:n-1; A(i,i-1)=v(i-1); A(i,i+1)=u(i-1);endA(n,n-1)=1;A(1,2)=1;A=A+2*eye(n);M=zhuigf(A,g); %调用函数,追赶法求Mfprintf(三次样条(三对角)插值的函数表达式n);syms X;for k=1:n-1 fprintf(S%d-%d:n,k,k+1); s(k)=(h(k)+2*(X-x(k)./h(k).3.*(X-x(k+1).2.*y(k). +(h(k)-2*(X-x(k+1)./h(k).3.*(X-x(k).2.*y(k+1). +(X-x(k).*(X-x(k+1).2./h(k).2*M(k)+(X-x(k+1).*. (X-x(k).2./h(k).2*M(k+1);ends=s.;s=vpa(s,4); %画三次样条插值函数图像for i=1:n-1 X=x(i):0.01:x(i+1);st=(h(i)+2*(X-x(i)./(h(i)3).*(X-x(i+1).2.*y(i).+(h(i)-2.*(X-x(i+1)./(h(i)3).*(X-x(i).2.*y(i+1).+(X-x(i).*(X-x(i+1).2./h(i)2*M(i)+(X-x(i+1).*.(X-x(i).2./h(i)2*M(i+1); plot(x,y,o,X,st); hold on End plot(x,y); grid on%调用的函数:%追赶法function M=zhuigf(A,g)n=length(A);L=eye(n);U=zeros(n);for i=1:n-1 U(i,i+1)=A(i,i+1);endU(1,1)=A(1,1);for i=2:n L(i,i-1)=A(i,i-1)/U(i-1,i-1); U(i,i)=A(i,i)-L(i,i-1)*A(i-1,i);endY(1)=g(1);for i=2:n Y(i)=g(i)-L(i,i-1)*Y(i-1);endM(n)=Y(n)/U(n,n);for i=n-1:-1:1 M(i)=(Y(i)-A(i,i+1)*M(i+1)/U(i,i);end2)在命令窗口输入x,y,dy1,dyn,得到三次样条函数:x=0.25,0.3,0.39,0.45,0.53;y=0.5,0.5477,0.6245,0.6708,0.7280;dy1=0;dyn=0;s=spline3(x,y,dy1,dyn)运行结果:三次样条(三对角)插值的函数表达式S1-2:S2-3:S3-4:S4-5: .5000*(-3600.+.1600e5*X)*(X-.3000)2+.5477*(5200.-.1600e5*X)*(X-.2500)2+394.8*(X-.2500)*(X-.3000)2+355.2*(X-.3000)*(X-.2500)2 .5477*(-699.6+2743.*X)*(X-.3900)2+.6245*(1193.-2743.*X)*(X-.3000)2+109.6*(X-.3000)*(X-.3900)2+96.77*(X-.3900)*(X-.3000)2 .6245*(-3333.+9259.*X)*(X-.4500)2+.6708*(4444.-9259.*X)*(X-.3900)2+217.7*(X-.3900)*(X-.4500)2+207.6*(X-.4500)*(X-.3900)2 .6708*(-1602.+3906.*X)*(X-.5300)2+.7280*(2227.-3906.*X)*(X-.4500)2+116.8*(X-.4500)*(X-.5300)2+109.2*(X-.5300)*(X-.4500)2如将三次样条函数加以整理,可用如下程序:s=collect(s);则输出结果为: s= .00-13.200*X3+9.*X2-1.*X .000-4.2924*X3+3.*X2-.0*X .00-3.3917*X3+3.*X2-.0*X -.0e-1+2.5768*X3-4.*X2+2.0*X专心-专注-专业
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!