MATLAB插值与拟合实验报告材料

合集下载

matlab插值与曲线拟合实验报告

matlab插值与曲线拟合实验报告

湖南大学电气与信息工程学院 《数值计算》课程 上机实验报告姓名: 班级: 学号: 日期:指导老师:本次实验题号:第 3 次实验1) 实验目的:1) 用MATLAB 实现拉格朗日插值和分段线性插值。

2) 了解matlab 实现曲线拟合方法的实际应用。

二. 实验内容:1) 插值算法的应用:题目:用拉格朗日插值程序,分段线形插值函数分别研究f (X )的数据表,计算f(0.472) X 0.46 0.47 0.48 0.49 Y0.48465550.49375420.50274980.51166832) 曲线拟合方法的实际应用用电压V=10V 的电池给电容器充电,电容器上t 时刻的电压v(t)=V-(V-V0)e^(-t/T),其中V0是电容器的初始电压,T 是充电常数。

实验测量了一组数据如下,请根据数据表确定V0和T 的大小。

t 0.5 1 2 3 4 5 7 9 V(t) 6.366.487.268.228.668.999.439.63三. 算法介绍或方法基础1.1 拉格朗日插值法对于已给定的点 00(,),...,(,)k k x y x y 和待估计的点的横坐标x ,如上述理论,将其值代入1100,011()()()()():......()()()()kj j i k j i i j j i j j j j j j kx x x x x x x x x x l x x x x x x x x x x x -+=≠-+-----==-----∏计算出插值基函数的值,然后根据公式:():()ki i j L x y l x ==∑计算出纵坐标的估计值,由此完成对该点的插值过程,其中k 为该点插值的阶数。

1.2 线性分段插值利用已给定的点 00(,),...,(,)k k x y x y 对插值区间分为1k -段,将每段的端点(,)i i x y 与 11(,)i i x y ++作为数据点利用公式100010()()()()()f x f x p x f x x x x x -=+--在所构成的区间进行线性插值。

数据插值、拟合方法的MATLAB实现

数据插值、拟合方法的MATLAB实现
2.2用6阶多项式拟合的命令
hours=0:1:23;
temps=[12 12 12 11 10 10 10 10 11 13 15 18 19 20 22 21 20 19 18 16 15 15 15 15]
n=6;
p=polyfit(hours,temps,n)
t=linspace(0,23,100);
z=polyval(p,t); %多项式求值
plot(hours,temps,'o',t,z,'k:',hours,temps,'b',’r’,'linewidth',1.5)
legend('原始数据','6阶曲线')
2.3用8阶多项式拟合的命令
hours=0:1:23;
temps=[12 12 12 11 10 10 10 10 11 13 15 18 19 20 22 21 20 19 18 16 15 15 15 15]
实验结果:
1.一元插值图像
图1.1一元插值图
经分析三次样条插值法效果最好,以三次样条插值法得出每个0.5小时的温度值:
时间
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
温度
12
11.9
12
12.0
12
11.6
11
10.4
10
9.9
10
10.0
时间
6
6.5
7
7.5
8
8.5
9
9.5
10
10.5
11
11.5

数值分析matlab实验报告

数值分析matlab实验报告

数值分析matlab实验报告数值分析MATLAB实验报告引言:数值分析是一门研究利用计算机进行数值计算和解决数学问题的学科。

它在科学计算、工程技术、金融等领域中有着广泛的应用。

本实验旨在通过使用MATLAB软件,探索数值分析的基本概念和方法,并通过实际案例来验证其有效性。

一、插值与拟合插值和拟合是数值分析中常用的处理数据的方法。

插值是通过已知数据点之间的函数关系,来估计未知数据点的值。

拟合则是通过一个函数来逼近一组数据点的分布。

在MATLAB中,我们可以使用interp1函数进行插值计算。

例如,给定一组离散的数据点,我们可以使用线性插值、多项式插值或样条插值等方法,来估计在两个数据点之间的未知数据点的值。

拟合则可以使用polyfit函数来实现。

例如,给定一组数据点,我们可以通过最小二乘法拟合出一个多项式函数,来逼近这组数据的分布。

二、数值积分数值积分是数值分析中用于计算函数定积分的方法。

在实际问题中,往往无法通过解析的方式求得一个函数的积分。

这时,我们可以使用数值积分的方法来近似计算。

在MATLAB中,我们可以使用quad函数进行数值积分。

例如,给定一个函数和积分区间,我们可以使用quad函数来计算出该函数在给定区间上的定积分值。

quad函数使用自适应的方法,可以在给定的误差限下,自动调整步长,以保证积分结果的精度。

三、常微分方程数值解常微分方程数值解是数值分析中研究微分方程数值解法的一部分。

在科学和工程中,我们经常遇到各种各样的微分方程问题。

而解析求解微分方程往往是困难的,甚至是不可能的。

因此,我们需要使用数值方法来近似求解微分方程。

在MATLAB中,我们可以使用ode45函数进行常微分方程数值解。

例如,给定一个微分方程和初始条件,我们可以使用ode45函数来计算出在给定时间范围内的解。

ode45函数使用龙格-库塔方法,可以在给定的误差限下,自动调整步长,以保证数值解的精度。

结论:本实验通过使用MATLAB软件,探索了数值分析的基本概念和方法,并通过实际案例验证了其有效性。

实验二:插值与拟合

实验二:插值与拟合

实验二:插值与拟合
实验目的:
1. 掌握用MATLAB 计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目,对三种插值结果进行初步分析。

2. 掌握用MATLAB 作线性最小二乘的方法。

3. 通过实例学习如何用插值方法与拟合方法解决实际问题,注意两者的联系与区别。

实验要求:
1. 编制计算拉格朗日插值的m 文件。

2. 练习interp1与interp2使用方法。

3. 通过实例,对三种插值结果进行比较。

4. 最小二乘拟合进行参数估计,并作图进行比较。

实验内容:
1. 选择一些函数,在n 个节点上(n 不要太大,如,5-11)用拉格朗日、分段线性、三次样条三种插值方法,计算m 个插值点的函数值(m 要适中,如50-100),通过数值和图形输出,将三种插值结果与精确值进行比较,通过增加n ,再作比较,由此作初步分析。

(1)π20,sin ≤≤=x x y (2)11,)1(2
1
2≤≤--=x x y (3)22,cos 10≤≤-=x x y (4)22),exp(2≤≤--=x x y
2. 用给定的多项式,如35623-+-=x x x y ,产生一组数据(x i ,y i ,
i=1,2,…,n),再在y i上添加随机干扰(可用rand产生),然后用x i 和添加了随机干扰的y i作3次多项式拟合,与原系数比较,如果作2或4次多项式拟合,结果如何?
3.在化工生产中,常常需要知道丙烷在各种温度T和压力P下的导
热系数K,下面是实验得到的一组数据:
试求T=99和P=10.3下的K。

Matlab实验报告六(三次样条与分段线性插值)范文

Matlab实验报告六(三次样条与分段线性插值)范文
1.分析问题
本题是给出粗略等分点让你插入更多点用双线性插值法来作出更清晰的山区地貌图。
2.问题求解
x=0:400:2800;
y=0:400:2400;
z=[1430 1450 1470 1320 1280 1200 1080 940;
1450 1480 1500 1550 1510 1430 1300 1200;
2.分段线性插值与计算量与n无关;n越大,误差越小.
3.三次样条插值比分段线性插值更光滑。
4.‘linear’:分段线性插值;‘spline’:三次样条值。
【实验环境】
MatlabR2010b
二、实验内容
问题1对函数 ,x[-5,5],分别用分段线性插值和三次样条插值作插值(其中插值节点不少于20),并分别作出每种插值方法的误差曲线.
本次实验因为是我们课本没有的内容,心理上给了我很大的压力,幸好我们还能根据老师的课件以及例题去掌握这次实验所需要的各种插值法,但结果还好,两道题都做出来了。
plot(x,y,'*',x1,yl,'r',x1,y2,'b')
y0=1./(1+x1.^2);
y3=yl-y0;
y4=ys-y0;
holdon
plot(x1,y3,'y',x1,y4,'g')
3.结果
4误。
问题2山区地貌图在某山区(平面区域(0,2800)(0,2400)内,单位:米)测得一些地点的高程(单位:米)如表1,试作出该山区的地貌图.
1.分析问题
本题先取出少量的插值节点并作出图形,再用分段线性插值法和三次样条插值法做出更精确的图形,最后在作出误差曲线。

程序设计实验报告(matlab)

程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。

实验内容:运用Matlab进行简单的程序设计。

实验方法:基于Matlab环境下的简单程序设计。

实验结果:成功掌握简单的程序设计和Matlab基本编程语法。

实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。

实验内容:在Matlab环境下进行多项式拟合和插值的计算。

实验方法:结合Matlab的插值工具箱,进行相关的计算。

实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。

实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。

实验内容:利用Matlab进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。

通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。

这些知识和技能对我未来的学习和工作都将有着重要的帮助。

Matlab实验报告六(三次样条与分段线性插值)

Matlab实验报告六(三次样条与分段线性插值)
数学与信息科学系实验报告
实验名称插值与拟合
所属课程数学软件与实验
实验类型综合型实验
专业信息与计算科学
班级
学号
姓名
指导教师
一、实验概述
【实验目的】
学会在matlab环境下使用几种不同的插值法和拟合两种方法构造函数依据已经知道的某些特殊点来推测实际问题中需要知道但又不便于测量出来的量。
【实验原理】
1.z=interp2(x0,y0,z0,x,y,’method’): 要求x0,y0单调;x, y可取为矩阵, 或x取行向量, y取为列向量, x,y的值分别不能超出x0,y0的范围。
2.分段线性插值与计算量与n无关;n越大, 误差越小.
3.三次样条插值比分段线性插值更光滑。
4.‘linear’ : 分段线性插值;‘spline’ : 三次样条
二、实验内容
问题1 对函数, x([-5,5], 分别用分段线性插值和三次样条插值作插值(其中插值节点不少于20), 并分别作出每种插值方法的误差曲线.
1180 1320 1450 1420 1400 1300 700 900];
mesh(x,y,z)
xi=0:20:2800;
yi=0:20:2400;
zi=interp2(x,y,z,xi',yi,'cubic');
mesh(xi,yi,zi)
3.结果
4.结论及分析
通过实验,结果正确,分析无误。
三、实验小结
1270 1500 1200 1100 1350 1450 1200 1150
1230 1390 1500 1500 1400 900 1100 1060
1180 1320 1450 1420 1400 1300 700 900

Matlab实验报告七(最小二乘拟合曲线拟合)

Matlab实验报告七(最小二乘拟合曲线拟合)
x = 1.2246 0.4612 -0.1277
4.结论及分析
经过实验验证,结果正确,实验无误。
三、实验小结
通过本次实验我发现matlab的用处很广范,能解决生活中的很多问题,预测一些还未发生的事情,越来越感觉这门课用处很大,也渐渐地喜欢这门课了。
t Q K L
1900 1.05 1.04 1.05
1901 1.18 1.06 1.08
1902 1.29 1.16 1.18
1903 1.30 1.22 1.22
1904 1.30 1.27 1.17
1905 1.42 1.37 1.30
1906 1.50 1.44 1.39
1907 1.52 1.53 1.47
Qdata=[1.05 1.18 1.29 1.30 1.30 1.42 1.50 1.52 1.46 1.60 1.69 1.81 1.93 1.95 2.01 2.00 2.09 1.96 2.20 2.12 2.16 2.08 2.24 2.56 2.34 2.45 2.58];
x0=[0.2 0.3 0.3];
2.y=polyval(Βιβλιοθήκη ,x):可用以计算多项式在x处的值y。
3.x = lsqcurvefit (‘fun’,x0,xdata,ydata):用以求含参量x(向量)的向量值函数。
4.x= lsqnonlin (‘fun’,x0,options):用以求含参量x(向量)的向量值函数。
【实验环境】
MatlabR2010b
用Q,K,L分别表示产值、资金、劳动力,要寻求的数量关系 。经过简化假设与分析,在经济学中,推导出一个著名的Cobb-Douglas生产函数:
(*)
式中 要由经济统计数据确定。现有美国马萨诸塞州1900—1926年上述三个经济指数的统计数据,如下表,试用数据拟合的方法,求出式(*)中的参数 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实用标准文档
CENTRAL SOUTH UN I VERS ITY MATLAB实验报告
题目:第二次实验报告
学生姓名:
学院:_____________________________
专业班级:
学号:
年月
MATLAB第二次实验报告
------- 插值与拟合插值即在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。

插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。

所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn}
通过调整该函数中若干待定系数f(入1,疋,…,血),使得该函数与已知点集的差别(最小二乘意义)最小
一、插值
<1>拉格朗日插值(课上例子)
m=101;
x=-5:10/(m-1):5;
y=1./(1+x92);z=0*x;
plot(x,z,'r',x,y,'Li neWidth',1.5),
gtext('y=1/(1+x A2)'),pause
n=3;
x0=-5:10/( n-1):5;
y0=1./(1+x0.A2);
y1=fLagra nge(xO,yO,x);
hold on ,plot(x,y1,'b'),gtext(' n=2'),pause,
hold off
n=5;
x0=-5:10/( n-1):5;
y0=1./(1+x0.A2);
y2=fLagra nge(xO,yO,x);
hold on ,plot(x,y2,'b:'),gtext(' n=4'),pause, hold off
n=7;
x0=-5:10/( n-1):5;
y0=1./(1+x0.A2);
y3=fLagra nge(xO,yO,x);hold on,
plot(x,y3,'r'),gtext(' n=6'),pause,
hold off
n=9;
x0=-5:10/( n-1):5;
y0=1./(1+x0.A2);
y4=fLagra nge(xO,yO,x);hold on,
plot(x,y4,'r:'),gtext(' n=8'),pause,
hold off
n=11;
x0=-5:10/( n-1):5;
y0=1./(1+x0.A2);
y5=fLagra nge(xO,yO,x);hold on,
plot(x,y5,'m'),gtext(' n=10')
运行后得
<2>拉格朗日插值(课下修改)fun cti on yh=lagra nge (x,y,xh)
n = len gth(x);
m = len gth(xh);
yh = zeros(1,m);
cl = on es( n-1,1);
c2 = on es(1,m);
for i=1: n
xp = x([1:i-1 i+1: n]);
yh = yh + y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2));
end
输入
x=[1 2 3 4 5 6]
y=[13 21 34 6 108 217]
xh=3.2
lagrange(x,y,xh)
运行后得
x =
1 2 3 4 5
13 21 34 6 108 217
xh =
3.2000
ans =
26.0951
、拟合
<1>课上实例
一种新药用于临床之前,必须设计给药方案药物进入机体后通过血液输送到全身,在这个过程中不断地被吸收、分布、代谢,最终排出体外,药物在血液中的浓度,即单位体积血液中的药物含量,称为血药浓度.
一室模型:将整个机体看作一个房室,称中心室,室内血药浓度是均匀的.快速静脉注射后,浓度立即上升;然后迅速下降.当浓度太低时,达不到预期的治疗效果;当浓度太高,又可能导致药物中毒或副作用太强.临床上,每种药物有一个最小有效浓度cl和一个最大有效浓度c2 .设计给药方案时,要使血药浓度保持在c1~c2之间.本题设c1=10ug/ml , c2=25ug/ml.
要设计给药方案,必须知道给药后血药浓度随时间变化的规律.从实验和理论两方面着手:
在实验方面,对某人用快速静脉注射方式一次注入该药物
300mg 后,在一定时刻t(h)采集血药,测得血药浓度c(ug/ml)
如下表:
C (^ml) 19.21 18.15 1536 14J0 12.89 9.32 7.45 5J4 3J1
模型假设
1.机体看作一个房室,室内血药浓度均匀——一室模型
2.药物排除速率与血药浓度成正比,比例系数
k(>0) 3.血液容积v, t=0注射剂量d,血药浓度立即为 d/v. 模型建立
dc 由假设2得:dc -kc dt
由假设3得:c(0) d/ d kt c(t) e
v
在此,d=300mg ,t 及c ( t )在某些点处的值见前表,需 经拟合求出参数 k 、v.
用线性最小二乘拟合c(t)
c ⑴—二> Inc 二 ln(c//v)- kt v
y - Inc, a x - -k. a 2 - ln(t//v) 程序:
d=300;
t=[0.25 0.5 1 1.5 2 3 4 6 8];
c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01];
y=iog(c); a=polyfit(t,y,1) k=-a(1) v=d/e xp(a(2)) 运行得 cl =
025
0,5 1 2 3 4 6 8
k ― -a^v~ d /
-0.0785 1.3586 -22.1079 967.7356 al =
-0.2356 2.7173 -22.1079
计算得k 0.2347(1/h), v 15.02(l)
三、实验感受
本次实验,我们主要学习了插值和拟合这两个在实际应用中十分广泛的建模方法,同时,它们也是我们学习数学建模的基础。

其中,拉格朗日插值和最小二乘法拟合是最常见到的,所以实验报告就这两种方法进行了相关解释。

插值和拟合,基础但不简单,需要大量的训练才能很好的进行掌握,所以,继续加油吧!。

相关文档
最新文档