- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试验插值法与数据拟合
试验一 插值法与数据拟合
实验目的
学会Lagrange 插值、牛顿插值和 Hermite插值等基本插值方法;
讨论插值的Runge现象,掌握分段线性插值方法
学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。
实验要求
按照题目要求完成实验内容;
写出相应的Matlab 程序;
给出实验结果;
分析和讨论实验结果
写出实验报告。
实验题目
书本P50 的习题1、习题2和习题3(涉及三次样条函数部分不用做)。
书本P95的习题1和习题2。
附:试验报告格式样本
实验一 插值法与数据拟合
班级: 学号: 姓名:
1.1 实验目的
掌握牛顿插值法的基本思路和步骤;掌握最小二乘法的基本思路和拟合步骤。培养编程与上机调试能力。
1.2 算法描述
1.2.1 牛顿插值法基本思路
给定插值点序列(构造牛顿插值多项式。输入要计算的函数点并计算的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面的各项系数恰好又是各阶差商,而各阶差商可用差商公式来计算。
1.2.2 牛顿插值法计算步骤
1. 输入值及(;要计算的函数点。
2. 对给定的由
计算的值。
3. 输出。
1.3 牛顿插值法题目{ }
1.4 本题目的 Matlab源程序 { }
1.5 程序运行结果 { }
1.6 总结和评价 { }
例题4 所求4次牛顿插值多项式曲线模拟。
x=0.4:0.05:1.05;
y=0.41075+1.116.*(x-0.4)+0.28.*(x-0.4).*(x-0.55)+0.19733.*(x-0.4).*(x-0.55).*(x-0.65)+0.03134.*(x-0.4).*(x-0.55).*(x-0.65).*(x-0.8);
plot(x,y,bo)
例题5 的4次牛顿插值模拟。
x=0.00:0.1:1.5;
y=1.0000+x.*(-0.00500)+x.*(x-1)./2.*(-0.00993)+0.00013./6.*(x).*(x-1).*(x-2)+0.00012./24.*x.*(x-1).*(x-2).*(x-3);
y1=cos(x);
plot(x,y,r,x,y1,b)
第二章计算实习题解答
1. Matlab程序
x=0.2:0.08:1.0;
y=0.98-0.3.*(x-.02)-(1.5./4).*(x-0.2).*(x-0.4)-(25./24).*(x-0.2).*(x-0.4).*(x-0.6)+(25./24).*(x-0.2).*(x-0.4).*(x-0.6).*(x-0.8);
plot(x,y,b)
得到的图形如图一所示。
图一 第一题其牛顿插值所的的图形
问题与作业:
本程序缺点:本程序只适合本题目,修改自变量及函数的取值,又得修改程序,能否请大家编写一个通用的牛顿插值Matlab 程序,使得只需输入自变量及函数值,调用该程序即可得到结果?
例如:编写一个基本牛顿插值函数 (其变种有等距离牛顿插值函数)
function yi=New_Int(x, y, xi)
% Newton 基本插值公式,其中
% x --- 向量,全部的插值节点,按行输入
% y --- 向量,插值节点处的函数值,按行输入
% xi --- 标量,自变量x
% yi --- xi 处的函数估计值
n=length(x); m=length(y);
if n~=m
error(The lengths of X and Y must be equal);
return;
end
% 计算均差表Y
Y=zeros(n); Y(:,1)=y;
% Y(:,1)表示矩阵中第一列的元素
for k=1:n-1
for i=1:n-k
if abs(x(i+k)-x(i))eps
error(the DATA is error!);
return;
end
Y(i,k+1)=(Y(i+1,k)-Y(i,k))/(x(i+k)-x(i));
end
end
% 计算Newton插值公式 N(xi)
yi=0;
for i=1:n
z=1;
for k=1:i-1
文档评论(0)