三次样条插值作业题.docx

三次样条插值作业题.docx

ID:57847318

大小:56.94 KB

页数:14页

时间:2020-04-01

三次样条插值作业题.docx_第1页
三次样条插值作业题.docx_第2页
三次样条插值作业题.docx_第3页
三次样条插值作业题.docx_第4页
三次样条插值作业题.docx_第5页
资源描述:

《三次样条插值作业题.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、例1设为定义在[0,3]上的函数,有下列函数值表:xi0123yi00.521.5且,,试求区间[0,3]上满足上述条件的三次样条插值函数本算法求解出的三次样条插值函数将写成三弯矩方程的形式:其中,方程中的系数,,,将由Matlab代码中的变量Coefs_1、Coefs_2、Coefs_3以及Coefs_4的值求出。以下为Matlab代码:%=============================%本段代码解决作业题的例1%=============================clearallclc%自变量x与因变量y,两个边界条件的取

2、值IndVar=[0,1,2,3];DepVar=[0,0.5,2,1.5];LeftBoun=0.2;RightBoun=-1;%区间长度向量,其各元素为自变量各段的长度h=zeros(1,length(IndVar)-1);fori=1:length(IndVar)-1h(i)=IndVar(i+1)-IndVar(i);end%为向量μ赋值mu=zeros(1,length(h));fori=1:length(mu)-1mu(i)=h(i)/(h(i)+h(i+1));endmu(i+1)=1;%为向量λ赋值lambda=zeros(1

3、,length(h));lambda(1)=1;fori=2:length(lambda)lambda(i)=h(i)/(h(i-1)+h(i));end%为向量d赋值d=zeros(1,length(h)+1);d(1)=6*((DepVar(2)-DepVar(1))/(IndVar(2)-IndVar(1))-LeftBoun)/h(1);fori=2:length(h)a=(DepVar(i)-DepVar(i-1))/(IndVar(i)-IndVar(i-1));b=(DepVar(i+1)-DepVar(i))/(IndVar(

4、i+1)-IndVar(i));c=(b-a)/(IndVar(i+1)-IndVar(i-1));d(i)=6*c;endd(i+1)=6*(RightBoun-(DepVar(i+1)-DepVar(i))/(IndVar(i+1)-IndVar(i)))/h(i);%为矩阵A赋值%将主对角线上的元素全部置为2A=zeros(length(d),length(d));fori=1:length(d)A(i,i)=2;end%将向量λ的各元素赋给主对角线右侧第一条对角线fori=1:length(d)-1A(i,i+1)=lambda(i)

5、;end%将向量d的各元素赋给主对角线左侧第一条对角线fori=1:length(d)-1A(i+1,i)=mu(i);end%求解向量MM=Ad';%求解每一段曲线的函数表达式fori=1:length(h)Coefs_1=M(i)/(6*h(i));Part_1=conv(Coefs_1,...conv([-1,IndVar(i+1)],...conv([-1,IndVar(i+1)],[-1,IndVar(i+1)])));S_1=polyval(Part_1,[IndVar(i):0.01:IndVar(i+1)]);Coefs_2

6、=M(i+1)/(6*h(i));Part_2=conv(Coefs_2,...conv([1,-IndVar(i)],...conv([1,-IndVar(i)],[1,-IndVar(i)])));S_2=polyval(Part_2,[IndVar(i):0.01:IndVar(i+1)]);Coefs_3=(DepVar(i)-M(i)*h(i)^2/6)/h(i);Part_3=conv(Coefs_3,[-1,IndVar(i+1)]);S_3=polyval(Part_3,[IndVar(i):0.01:IndVar(i+1)]

7、);Coefs_4=(DepVar(i+1)-M(i+1)*h(i)^2/6)/h(i);Part_4=conv(Coefs_4,[1,-IndVar(i)]);S_4=polyval(Part_4,[IndVar(i):0.01:IndVar(i+1)]);S=S_1+S_2+S_3+S_4;plot([IndVar(i):0.01:IndVar(i+1)],S,'LineWidth',1.25)%在样条插值曲线的相应位置标注该段曲线的函数表达式text(i-1,polyval(Part_1,3),...['itS',num2str(i)

8、,'(x)=',num2str(Coefs_1),'(',num2str(IndVar(i+1)),'-x)^{3}+',...num2str(Coefs_2),'

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

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

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