试验一插值法与数据拟合.doc

上传人:ni****g 文档编号:556974537 上传时间:2022-12-15 格式:DOC 页数:13 大小:95KB
返回 下载 相关 举报
试验一插值法与数据拟合.doc_第1页
第1页 / 共13页
试验一插值法与数据拟合.doc_第2页
第2页 / 共13页
试验一插值法与数据拟合.doc_第3页
第3页 / 共13页
试验一插值法与数据拟合.doc_第4页
第4页 / 共13页
试验一插值法与数据拟合.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《试验一插值法与数据拟合.doc》由会员分享,可在线阅读,更多相关《试验一插值法与数据拟合.doc(13页珍藏版)》请在金锄头文库上搜索。

1、试验一 插值法与数据拟合一、 实验目的(1) 学会Lagrange 插值、牛顿插值和 Hermite插值等基本插值方法;(2) 讨论插值的Runge现象,掌握分段线性插值方法(3) 学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。二、 实验要求(1) 按照题目要求完成实验内容;(2) 写出相应的Matlab 程序;(3) 给出实验结果;(4) 分析和讨论实验结果(5) 写出实验报告。三、 实验题目(1) 书本P50 的习题1、习题2和习题3(涉及三次样条函数部分不用做)。(2) 书本P95的习题1和习题2。附:试验报告格式样本实验一 插值法与数据拟合班级: 学号: 姓名:

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次牛顿插

3、值多项式曲线模拟。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

4、-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)得到的图形如图一所示。图一 第一题其牛顿插值所的的图形问题与作业:本程序缺点:本程序只适合本题目,修改自变量及函数的取值,又得修改程序,能否请大家编写一个通用的牛顿插值Ma

5、tlab 程序,使得只需输入自变量及函数值,调用该程序即可得到结果?例如:编写一个基本牛顿插值函数 (其变种有等距离牛顿插值函数)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% 计算均差表YY=zeros(n); Y(:,1)

6、=y; % Y(:,1)表示矩阵中第一列的元素for k=1:n-1 for i=1:n-k if abs(x(i+k)-x(i) x=a:h:b;y=1./(1+25.*x.2); plot(x,y,k)图二 龙格函数的图形问题:请用Lagrange多项式对龙格函数进行插值并比较函数图形。3.平方根函数及其8次多项式插值对应的图形对比。M atlab源程序:function L8%平方根函数的8次多项式插值x=0 1 4 9 16 25 36 49 64; y=sqrt(x);m=length(x); z=zeros(1,m);for i=1:m z(i)=Lagrange(x, y, x(

7、i);endhold onplot(x,y,o); plot(x,y,o);xlabel(x);ylabel(y);plot(x,z,r-);hold offfunction yi=Lagrange(x, y, xi)% Lagrange 插值多项式,其中% 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;endp=zeros(1,n);for k=

8、1:n t=ones(1,n); for j=1:n if j=k if abs(x(k)-x(j)eps error(the DATA is error!); return; end t(j)=(xi-x(j)/(x(k)-x(j); end end p(k)=prod(t);endyi=sum(y.*p); 习题一参考程序1. % 调用Lagrange()函数,具体参见上面给出的函数。x=0.2 0.4 0.6 0.8 1.0;y=0.98 0.92 0.81 0.64 0.38;xx=0.2:0.08:1.0;m=length(xx);z=zeros(1,m); for i=1:mz(i

9、)=Lagrange(x,y,xx(i);endplot(x,y,o,xx,z,r-);所得计算图形如下图所示。习题一的图形对比 2. 参考程序,其中调用了Lagrange()函数function Runge(n)% Runge现象% n - 等距离节点 a=-1; b=1; h=(b-a)/n;x=a:h:b; y=1./(1+25.*x.2);xx=a:0.01:b; yy=1./(1+25.*xx.2); m=length(xx); z=zeros(1,m);for i=1:m z(i)=Lagrange(x, y, xx(i);endhold onplot(x,y,o);plot(xx

10、,z,r-);hold off调用Runge(10)得到的图像如下图:Runge(10)的图像对比Runge(12)的图像如下:图 Runge(12)的图像对比:Runge(20)的图像如:图Runge(20)的图像对比3. (1)参考程序x=0 1 4 9 16 25 36 49 64;y=0 1 2 3 4 5 6 7 8;xx=0:0.5:64; yy=sqrt(xx);m=length(xx);z=zeros(1,m);for i=1:mz(i)=Lagrange(x,y,xx(i);endplot(x,y,o,xx,yy,.,xx,z,r-);所得图像对比如下习题3(1)所得到的图像

11、对比第三章 数据拟合实验参考程序1. 先写后面可能用到的函数function y=phi_k(x,k)% 基函数的乘积if k=0 y=ones(size(x);else y=x.k;endfunction S=squar_least(x,y,n,w)% 数据的最小二乘拟合,其中% x,y - 数据的(x,y)坐标% n - 数据拟合的次数,缺省时n=1% w - 权值,缺省时w=1% S - 数据拟合的系数% 需要另写的函数% phi(x) - 基函数,通常为多项式1, x, x2, .global i; global j;if nargin 4 w=1; endif nargin x=-1:0.2 :1; y=1./(1+25.*x.2);xx=-1:0.05 :1; m=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号