分段线性插值法实验报告_插值方法_实验报告.doc

本实验报告详细介绍了利用MATLAB进行插值方法的研究,包括拉格朗日插值、线性插值和样条插值。通过对不同函数的一维插值计算,对比了分段线性、三次样条和拉格朗日多项式插值的效果。同时,报告探讨了二维插值的最邻近、分片线性和双线性插值方法,观察了插值效果的变化。实验旨在提升对插值方法的理解和应用能力。
摘要由CSDN通过智能技术生成

插值方法_实验报告

肖建 计科三班开课学院、实验室: 数统学院 实验时间 : 2011 年 5 月 8 日

课程

名称数学实验实验项目

名 称

插值方法

实验项目类型验证演示综合设计其他指导

教师李东成 绩

实验5 插值方法

一、实验目的及意义

[1] 了解插值的基本原理

[2] 了解拉格朗日插值、线性插值、样条插值的基本思想;

[3] 了解三种网格节点数据的插值方法的基本思想;

[4] 掌握用MATLAB计算三种一维插值和两种二维插值的方法;

[5] 通过范例展现求解实际问题的初步建模过程;

通过自己动手作实验学习如何用插值方法解决实际问题,提高探索和解决问题的能力。通过撰写实验报告,促使自己提炼思想,按逻辑顺序进行整理,并以他人能领会的方式表达自己思想形成的过程和理由。提高写作、文字处理、排版等方面的能力。

二、实验内容

1.编写拉格朗日插值方法的函数M文件;

2.用三种插值方法对已知函数进行插值计算,

通过数值和图形输出,比较它们的效果;

3.针对实际问题,试建立数学模型,并求解。

三、实验步骤

1.开启软件平台——MATLAB,开启MATLAB编辑窗口;

2.根据各种数值解法步骤编写M文件

3.保存文件并运行;

4.观察运行结果(数值或图形);

5.写出实验报告,并浅谈学习心得体会。

四、实验要求与任务

根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论→心得体会)

基础实验

1. 一维插值 利用以下一些具体函数,考察分段线性插值、三次样条插值和拉格朗日多项式插值等三种插值方法的差异。

1),x([-5,5]; 2)sinx, x([0,2(]; 3)cos10x, x([0,2(].

M文件:

(1)

clc

x=linspace(-5,5,11);

y=1./(1+x.^2);

x0=linspace(-5,5,101);

y0=1./(1+x.^2);

y1=interp1(x,y,x0,'spline')

y2=interp1(x,y,x0);

A=[ones(11,1) x' (x.^2)' (x.^3)' (x.^4)' (x.^5)' (x.^6)' (x.^7)' (x.^8)' (x.^9)' (x.^10)']

a=A\y';

y3= a(1)+a(2).*x0+a(3).*x0.^2+a(4).*x0.^3+a(5).*x0.^4+a(6).*x0.^5+a(7).*x0.^6+a(8).*x0.^7+a(9).*x0.^8+a(10).*x0.^9+a(11).*x0.^10;

plot(x0,y3,'r'),

gtext('Lagr.'),

hold on,

plot(x0,y2,'b'),

gtext('Pies.Lin.'),

hold on,

plot(x0,y1,'m'),

gtext('Spline')

hold off

(2)

x=linspace(0,2*pi,11);

y=cos(x);

x0=linspace(0,pi,101);

y0=cos(x0);

剩余代码和(1)中相同

(3)

x=linspace(0,pi,11);

y=cos(x).^10;

x0=linspace(0,pi,101);

y0=cos(x0).^10;

剩余代码和(1)中相同

注意:适当选取节点及插值点的个数;比较时可以采用插值点的函数值与真实函数值的差异,或采用两个函数之间的某种距离。

2.高维插值 对于二维插值的几种方法:最邻近插值、分片线性插值、双线性插值、三次插值等,利用如下函数进行插值计算,观察其插值效果变化,得出什么结论?

1) ,参数p=1/2000~1/200;采样步长为:t=4ms~4s;x=5~25m.

t=linspace(0,4,10);

x=linspace(5,25,10);

[t,x]=meshgrid(t,x);

z=sin((t-1/200.*x)*2);

[t1,x1]=meshgrid(linspace(0,4,100),linspace(5,25,100));

z1=interp2(t,x,z,t1,x1,'cubic');

z2=interp2(t,x,z,t1,x1,'nearest');

z3=interp2(t,x,z,t1,x1,'linear');

mesh(t1,x1,z1);

hold on

mesh(t1,x1,z2);

hold on

mesh(t1,x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值