三次样条插值作业题(共17页).docx
![资源得分’ 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)
《三次样条插值作业题(共17页).docx》由会员分享,可在线阅读,更多相关《三次样条插值作业题(共17页).docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上例1 设为定义在0,3上的函数,有下列函数值表:xi0123yi00.521.5且,试求区间0,3上满足上述条件的三次样条插值函数本算法求解出的三次样条插值函数将写成三弯矩方程的形式:其中,方程中的系数,将由Matlab代码中的变量Coefs_1、Coefs_2、Coefs_3以及Coefs_4的值求出。以下为Matlab代码:%=% 本段代码解决作业题的例1%=clear allclc % 自变量x与因变量y,两个边界条件的取值IndVar = 0, 1, 2, 3;DepVar = 0, 0.5, 2, 1.5; LeftBoun = 0.2;RightBoun
2、= -1; % 区间长度向量,其各元素为自变量各段的长度h = zeros(1, length(IndVar) - 1);for i = 1 : length(IndVar) - 1 h(i) = IndVar(i + 1) - IndVar(i);end % 为向量赋值mu = zeros(1, length(h);for i = 1 : length(mu) - 1 mu(i) = h(i) / (h(i) + h(i + 1);endmu(i + 1) = 1; % 为向量赋值lambda = zeros(1, length(h);lambda(1) = 1;for i = 2 : le
3、ngth(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);for i = 2 : length(h) a = ( DepVar(i) - DepVar(i - 1) ) / ( IndVar(i) - IndVar(i - 1) ); b = ( DepVar(i + 1) - DepVar(i) ) / (
4、 IndVar(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) );for i = 1 : length(d) A(i, i) = 2;end% 将向量的各元素赋
5、给主对角线右侧第一条对角线for i = 1 : length(d) - 1 A(i, i + 1) = lambda(i);end% 将向量d的各元素赋给主对角线左侧第一条对角线for i = 1 : length(d) - 1 A(i + 1, i) = mu(i);end % 求解向量MM =A d; % 求解每一段曲线的函数表达式 for i = 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), -
6、1, IndVar(i + 1) ) ) ); S_1 = polyval (Part_1, IndVar(i) : 0.01 : IndVar(i + 1); Coefs_2 = 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)
7、/ h(i); Part_3 = conv(Coefs_3, -1, IndVar(i + 1); S_3 = polyval (Part_3, IndVar(i) : 0.01 : IndVar(i + 1); 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
8、) : 0.01 : IndVar(i + 1), S, LineWidth, 1.25) % 在样条插值曲线的相应位置标注该段曲线的函数表达式 text(i - 1, polyval(Part_1, 3), . itS, num2str(i), (x)=, num2str(Coefs_1), (, num2str( IndVar(i + 1) ), -x)3+, . num2str(Coefs_2), (x-, num2str( IndVar(i) ), )3+, num2str(Coefs_3), . (, num2str( IndVar(i + 1) ), -x)+, num2str(C
9、oefs_4), (x-, num2str( IndVar(i) ), ), . FontName, Times New Roman, FontSize, 14) hold onend % 过x=1和x=2两个横轴点作垂线 %line(1, 1, 2.5, -0.5, LineStyle, -);line(2, 2, 2.5, -0.5, LineStyle, -); % 为x轴和y轴添加标注xlabel( itx, FontName, Times New Roman, . FontSize, 14, FontWeight, bold);ylabel( its(x), FontName, Ti
10、mes New Roman, .Rotation, 0, FontSize, 14, FontWeight, bold);最终,三次样条插值函数s(x)表达式为:曲线的图像如图所示:专心-专注-专业例2 已知函数值表:xi1245yi1342试求在区间1,5上满足上述函数表所给出的插值条件的三次自然样条插值函数本算法求解出的三次样条插值函数将写成三弯矩方程的形式:其中,方程中的系数,将由Matlab代码中的变量Coefs_1、Coefs_2、Coefs_3以及Coefs_4的值求出。以下为Matlab代码:%=% 本段代码解决作业题的例2%=clear allclc % 自变量x与因变量y的取
11、值IndVar = 1, 2, 4, 5;DepVar = 1, 3, 4, 2; % 区间长度向量,其各元素为自变量各段的长度h = zeros(1, length(IndVar) - 1);for i = 1 : length(IndVar) - 1 h(i) = IndVar(i + 1) - IndVar(i);end % 为向量赋值mu = zeros(1, length(h);for i = 1 : length(mu) - 1 mu(i) = h(i) / (h(i) + h(i + 1);endmu(i + 1) = 0; % 为向量赋值lambda = zeros(1, le
12、ngth(h);lambda(1) = 0;for i = 2 : length(lambda) lambda(i) = h(i) / (h(i - 1) + h(i);end % 为向量d赋值d = zeros(1, length(h) + 1);d(1) = 0;for i = 2 : length(h) a = ( DepVar(i) - DepVar(i - 1) ) / ( IndVar(i) - IndVar(i - 1) ); b = ( DepVar(i + 1) - DepVar(i) ) / ( IndVar(i + 1) - IndVar(i) ); c = (b - a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三次 样条插值 作业题 17
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内