常用方法MATLAB求解(好)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模竞赛
1
几种常见的数学方法及软件求解
一、曲线拟合及MATLAB软件求解
已知离散点上的数据集 [(x1, y1)(x2 , y2 )L (xn , yn )],
求得一解析函数y=f(x)使y=f(x)在原离散点 xi 上尽可能
接近给定 yi 的值,这一过程叫曲线拟合。最常用的
曲线拟合是最小二乘法曲线拟合,拟合结果可使误差的
Pn(xi)=yi,i=0,1,…,n.
解决此问题的拉格朗日插值多项式公式如下
n
Pn (x) Li (x) yi i0
其中Li(x) 为n次多项式:
Li
(x)
(x x0 )(x x1) (xi x 0 )(xi x1 )
(x (xi
xi1 )(x xi1 ) (x x i1 )(x i x i1 ) (x i
5
二、一维插值
1、一维插值的定义
已知 n+1个节点 (x j , y j ) ( j 0,1, n,其中 x j
互不相同,不妨设 a x0 x1 xn b),
求任一插值点 x*( xj ) 处的插值 y*.
y*
y1
y0 •
• •
• •
x0 x1 x*
xn
6
构造一个(相对简单的)函数 y f (x), 通过全部节点, 即
(i 1, n)
si (xi ) si1(xi ), si(xi ) si1(xi ), si(xi ) si1(xi ) (i 1, , n 1)
4) S(x0 ) S(xn ) 0 (自然边界条件)
2) 3) 4) ai , bi , ci , di S ( x)
lim S(x) g(x)
例2 在1-12的11小时内,每隔1小时测量一次温度,测 得的温度依次为:5,8,9,15,25,29,31,30, 22,25,27,24。试估计在 3.2,6.5,7.1,11.7小时的温 度值。
解 输入命令 :
>> hours=1:12; >> temps=[5 8 9 15 25 29 31 30 22 25 27 24];
次的分段多项式达到较高阶光滑性的方法?三次 样条插值就是一个很好的例子。
Байду номын сангаас
11
三次样条插值
S(x) {si (x), x [xi1, xi ], i 1, n}
1) si ( x) ai x3 bi x2 ci x di 2) S (xi ) yi (i 0,1, n) 3) S ( x) C 2[ x0 , xn ]
xn) xn
)
称为拉格朗日插值基函数。 8
拉格朗日(Lagrange)插值
特别地:
两点一次(线性)插值多项式:
L1x
x x1 x0 x1
y0
x x0 x1 x0
y1
三点二次(抛物)插值多项式:
L2
x
x x0
x1 x1
x x2 x0 x2
y0
x x1
x0 x0
x x2 x1 x2
x
x j 1
0,
其它
xj xj+1 xn
x
计算量与n无关; n越大,误差越小.
lim
n
Ln (x)
g(x),
x0
x
xn
10
三次样条插值
比分段线性插值更光滑。
y
a
xi-1 xi
bx
在数学上,光滑程度的定量描述是:函数(曲 线)的k阶导数存在且连续,则称该曲线具有k阶光 滑性。
光滑性的阶次越高,则越光滑。是否存在较低
p= 0.5614 0.8287 1.1560
即二次拟合多项式为
f (x) 0.5614x2 0.8287x 1.1560
4
画出离散点及拟合曲线: 输入命令 : >> x1=0.5:0.05:3.0; >> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') 结果见图5.4
n
g(x)为被插值函数。 12
2、一维插值的MATLAB软件命令:
已知离散点上的数据集[(x1, y1)(x2 , y2 )L (xn , yn )],
求得一解析函数连接自变量相邻的两个点,并求得两点
间的数值,这一过程叫插值。
MATLAB在一维插值函数interp1中,提供了四种 插值方法选择:线性插值、三次样条插值、立方插值 和最近邻点插值。interp1的本格式为:
7.00
8.65
求二次拟合多项式.
先画函数离散点的图形
输入命令 :
>> x=[0.5 1.0 1.5 2.0 2.5 3.0];
>> y=[1.75 2.45 3.81 4.80 7.00 8.60];
>> scatter(x,y,5)
结果见图
3
由图可看出可用二次多项式拟合。
再输入命令 :
>> p=polyfit(x,y,2)
yi=interp1(x,y,xi,'method') 其中x,y分别表示数据点的横、纵坐标向量,x 必须
单调,xi为需要插值的横坐标数据(或数组),xi不能 超出x的范围,而method为可选参数,有四种选择:
‘nearest’ :最邻近插值 ‘linear’ : 线性插值;
13
‘spline’ : 三次样条插值; ‘cubic’ : 立方插值。 缺省时: 分段线性插值。
>> t=interp1(hours,temps,[3.2 6.5 7.1 11.7])
f ( x j ) y j ( j 0,1, n) 再用 f (x) 计算插值,即 y* f (x*).
y*
y1
y0 •
• •
x0 x1 x*
• •
xn
7
拉格朗日(Lagrange)插值
已知函数f(x)在n+1个点x0,x1,…,xn处的函数值为 y0,y1,…,yn 。求一n次多项式函数Pn(x),使其满足:
平方和最小,即找出使
n
f (xi ) yi 2
i 1
最小的f(x).
2
格式:p=polyfit(x,y,n).
说明:求出已知数据x,y 的n次拟合多项式f(x)的系 数p,x 必须是单调的。
例1 已知某函数的离散值如表
xi
0.5
1.0
1.5
2.0
2.5
3.0
yi
1.75
2.45
3.81
4.80
y1
x x2
x0 x0
x x1 x2 x1
y2
直接验证可知 , Ln x满足插值条件 .
9
分段线性插值
y
••• •
• •
o x0
xj-1
n
Ln ( x) y jl j ( x) j 0
x x j1
x
j
x j 1
,
x j 1
x
xj
l j (x)
x xj
x j1 x j1
,
xj
相关文档
最新文档