MATLAB插值与拟合实验报告

更新时间:2024-06-05 04:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MATLAB实验报告

题目: 学生姓名: 学院: 专业班级: 学号:

第二次实验报告

年月

****班**号 ***

MATLAB第二次实验报告

————插值与拟合

插值即在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。

所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn}通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小。

一、插值

<1>拉格朗日插值(课上例子)

m=101;

x=-5:10/(m-1):5; y=1./(1+x.^2);z=0*x;

plot(x,z,'r',x,y,'LineWidth',1.5), gtext('y=1/(1+x^2)'),pause n=3;

x0=-5:10/(n-1):5; y0=1./(1+x0.^2);

y1=fLagrange(x0,y0,x);

holdon,plot(x,y1,'b'),gtext('n=2'),pause, hold off n=5;

x0=-5:10/(n-1):5; y0=1./(1+x0.^2);

1

****班**号

y2=fLagrange(x0,y0,x);

holdon,plot(x,y2,'b:'),gtext('n=4'),pause, hold off n=7;

x0=-5:10/(n-1):5; y0=1./(1+x0.^2);

y3=fLagrange(x0,y0,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.^2);

y4=fLagrange(x0,y0,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.^2);

y5=fLagrange(x0,y0,x);hold on, plot(x,y5,'m'),gtext('n=10')

运行后得

***

2

****班**号 ***

<2>拉格朗日插值(课下修改)

functionyh=lagrange (x,y,xh) n = length(x); m = length(xh); yh = zeros(1,m); c1 = ones(n-1,1); c2 = ones(1,m); fori=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]

3

****班**号 ***

xh=3.2 lagrange(x,y,xh) 运行后得

x =

1 2 3 4 5 6 y =

13 21 34 6 108 217 xh =

3.2000

ans =

26.0951

二、拟合 <1>课上实例

一种新药用于临床之前,必须设计给药方案药物进入机体后通过血液输送到全身,在这个过程中不断地被吸收、分布、代谢,最终排出体外,药物在血液中的浓度,即单位体积血液中的药物含量,称为血药浓度.

一室模型:将整个机体看作一个房室,称中心室,室内血药浓度是均匀的.快速静脉注射后,浓度立即上升;然后迅速下降.当浓度太低时,达不到预期的治疗效果;当浓度太高,

4

本文来源:https://www.bwwdw.com/article/8uj6.html

Top