实验4 插值拟合与最优化实验目的:
1、了解插值和拟合的基本思想;
2、掌握用matlab软件插值和拟合的命令;
3、掌握用matlab软件求解线性规划、二次规划的命令。
实验内容:
一维多项式插值
由已知数据点出发构造出次插值多项式,进而通过多项式求出处的函数值(),在Matlab中的命令为:
;
;
注意:代表线性插值,此处也可换为(立方插值),(三次样条插值),(最邻近插值),也可以不写,系统默认为。
在大多数情况下,线性插值就已经足够了。
例1 根据下函数表,求四次插值多项式,并用其计算和的近似值。
1.615
1.634
1.702
1.828
1.921
2.41450
2.46459
2.65271
3.03035
3.34066
解:输入matlab命令
xp=[1.615,1.634,1.702,1.828,1.921];
yp=[2.41450,2.46459,2.65271,3.03035,3.34066];
y1=interp1(xp,yp,1.682)
y2=interp1(xp,yp,1.813)
所以结果为:。
多项式拟合
;
;
例2 已知热敏电阻数据:
温度
20.5
32.7
51.0
73.0
95.7
电阻
765
826
873
942
1032
求时的电阻R。
解,先对数据点作图,可以看出数据点的分布近似为直线,所以选取基函数,其中和为待定系数。
于是输入matlab命令:
xp=[20.5,32.7,51.0,73.0,95.7];
yp=[765,826,873,942,1032];
a=polyfit(xp,yp,1)
R=polyval(a,60)
输出结果为a = 3.3987 702.0968
R = 906.0212
即拟合多项式为,且时的电阻
R=906.0212。
线性规划的matlab实现
matlab中,实现线性规划的函数是linprog,其所解决的模型为
linprog函数的命令格式为:
(1)
%求无等式约束,对x也无范围要求的最优解。
(2)
%有等式约束,此时若无不等式约束,
则 。
(3)
%指定x的范围,此时若无等式约束,则。
(4)
%预先设置初始解向量,此时若x无范围要求,
则。
(5)
%设置指定的优化参数options。
(6)
%在求解向量x的同时返回目标函数f的最优值。
即。
例3 求解线性规划问题:
解:考虑到函数求解线性规划的标准形式为,
所以先要将线性规划变换为:
然后输入matlab文件如下:
c=[-3;1;1];
A=[1,-2,1;4,-1,-2];
b=[11;-3];
Aeq=[2,0,-1];
beq=[-1];
xlb=[0;0;0];
[x,f]=linprog(c,A,b,Aeq,beq,xlb,[])
输出结果为:x = 4.0000
1.0000
9.0000
f=-2.0000
所以线性规划的最优解为,
此时目标函数的最大值为2。
二次规划的matlab实现
matlab中,实现线性规划的函数是quadprog,其所解决的模型为
linprog函数的命令格式为:
x=quadprog(H,c,A1,b1)
[x,fv,ef,out,lag]=quadprog(H,c,A1,b1,A2,b2,v1,v2,x0,opt)
例4 求解二次规划问题:
解:输入如下程序
H=[4 -3;-3 6];
c=[-3 1];
A1=[-2 1;1 -3];
b1=[3 3];
A2=[1 2];
b2=3;
v1=[2 -inf];
v2=[inf 0];
[x,fv,ef,out,lag]=quadprog(H,c,A1,b1,A2,b2,v1,v2)
练习:
1、在某化学反应里,根据实验所得分解物的浓度与时间关系如下:
时间
0
5
10
15
20
25
30
35
40
45
50
55
浓度
0
1.27
2.16
2.86
3.44
3.87
4.15
4.37
4.51
4.58
4.62
4.64
试研究浓度与时间的关系。
2、丙烷的导热系数是化工生产中值得注意的量,而且常常需要在不同温度及压力下的导热系数,然而我们不可能也没有必要实际测量出每一个条件下的导热系数,经过实验测得以下数据:
68
9798.1
13324
0.0848
0.0897
106
9798.1
14277
0.0696
0.0753
87
9007.8
13355
0.0762
0.0807
140
9656.3
12463
0.0611
0.0651
表中的T,P,K分别表示温度、压力、导热系数,并假设在这个范围内导热系数近似的随压力线性变化,求压力是温度下的导热系数。
3、某部门有3个生产同类产品的工厂A1,A2,A3,生产的产品由4个销售点B1,B2,B3,B4出售,各工厂的生产量,各销售点的销售量(单位均为t)以及各工厂到各销售点的单位运价(元/t)的所有数据列表如下:
B1
B2
B3
B4
产量
A1
4
12
4
11
16
A2
2
10
3
9
10
A3
8
5
11
6
22
销量
8
14
12
14
48
问如何调运才能使总运费最小?
4、某工厂生产甲,乙两种同类产品,需要用到三种原料。两类产品中每单位的产品对三种原料有不同的需求量,其数据由下表所示:
原料
甲
乙
原料可供应量
第一种原料(kg)
1
1
3500
第二种原料(kg)
1
0
1500
第三种原料(kg)
5
2
10000
单位产品利润(元)
5
3
问如何安排生产使利润最大?
1、了解插值和拟合的基本思想;
2、掌握用matlab软件插值和拟合的命令;
3、掌握用matlab软件求解线性规划、二次规划的命令。
实验内容:
一维多项式插值
由已知数据点出发构造出次插值多项式,进而通过多项式求出处的函数值(),在Matlab中的命令为:
;
;
注意:代表线性插值,此处也可换为(立方插值),(三次样条插值),(最邻近插值),也可以不写,系统默认为。
在大多数情况下,线性插值就已经足够了。
例1 根据下函数表,求四次插值多项式,并用其计算和的近似值。
1.615
1.634
1.702
1.828
1.921
2.41450
2.46459
2.65271
3.03035
3.34066
解:输入matlab命令
xp=[1.615,1.634,1.702,1.828,1.921];
yp=[2.41450,2.46459,2.65271,3.03035,3.34066];
y1=interp1(xp,yp,1.682)
y2=interp1(xp,yp,1.813)
所以结果为:。
多项式拟合
;
;
例2 已知热敏电阻数据:
温度
20.5
32.7
51.0
73.0
95.7
电阻
765
826
873
942
1032
求时的电阻R。
解,先对数据点作图,可以看出数据点的分布近似为直线,所以选取基函数,其中和为待定系数。
于是输入matlab命令:
xp=[20.5,32.7,51.0,73.0,95.7];
yp=[765,826,873,942,1032];
a=polyfit(xp,yp,1)
R=polyval(a,60)
输出结果为a = 3.3987 702.0968
R = 906.0212
即拟合多项式为,且时的电阻
R=906.0212。
线性规划的matlab实现
matlab中,实现线性规划的函数是linprog,其所解决的模型为
linprog函数的命令格式为:
(1)
%求无等式约束,对x也无范围要求的最优解。
(2)
%有等式约束,此时若无不等式约束,
则 。
(3)
%指定x的范围,此时若无等式约束,则。
(4)
%预先设置初始解向量,此时若x无范围要求,
则。
(5)
%设置指定的优化参数options。
(6)
%在求解向量x的同时返回目标函数f的最优值。
即。
例3 求解线性规划问题:
解:考虑到函数求解线性规划的标准形式为,
所以先要将线性规划变换为:
然后输入matlab文件如下:
c=[-3;1;1];
A=[1,-2,1;4,-1,-2];
b=[11;-3];
Aeq=[2,0,-1];
beq=[-1];
xlb=[0;0;0];
[x,f]=linprog(c,A,b,Aeq,beq,xlb,[])
输出结果为:x = 4.0000
1.0000
9.0000
f=-2.0000
所以线性规划的最优解为,
此时目标函数的最大值为2。
二次规划的matlab实现
matlab中,实现线性规划的函数是quadprog,其所解决的模型为
linprog函数的命令格式为:
x=quadprog(H,c,A1,b1)
[x,fv,ef,out,lag]=quadprog(H,c,A1,b1,A2,b2,v1,v2,x0,opt)
例4 求解二次规划问题:
解:输入如下程序
H=[4 -3;-3 6];
c=[-3 1];
A1=[-2 1;1 -3];
b1=[3 3];
A2=[1 2];
b2=3;
v1=[2 -inf];
v2=[inf 0];
[x,fv,ef,out,lag]=quadprog(H,c,A1,b1,A2,b2,v1,v2)
练习:
1、在某化学反应里,根据实验所得分解物的浓度与时间关系如下:
时间
0
5
10
15
20
25
30
35
40
45
50
55
浓度
0
1.27
2.16
2.86
3.44
3.87
4.15
4.37
4.51
4.58
4.62
4.64
试研究浓度与时间的关系。
2、丙烷的导热系数是化工生产中值得注意的量,而且常常需要在不同温度及压力下的导热系数,然而我们不可能也没有必要实际测量出每一个条件下的导热系数,经过实验测得以下数据:
68
9798.1
13324
0.0848
0.0897
106
9798.1
14277
0.0696
0.0753
87
9007.8
13355
0.0762
0.0807
140
9656.3
12463
0.0611
0.0651
表中的T,P,K分别表示温度、压力、导热系数,并假设在这个范围内导热系数近似的随压力线性变化,求压力是温度下的导热系数。
3、某部门有3个生产同类产品的工厂A1,A2,A3,生产的产品由4个销售点B1,B2,B3,B4出售,各工厂的生产量,各销售点的销售量(单位均为t)以及各工厂到各销售点的单位运价(元/t)的所有数据列表如下:
B1
B2
B3
B4
产量
A1
4
12
4
11
16
A2
2
10
3
9
10
A3
8
5
11
6
22
销量
8
14
12
14
48
问如何调运才能使总运费最小?
4、某工厂生产甲,乙两种同类产品,需要用到三种原料。两类产品中每单位的产品对三种原料有不同的需求量,其数据由下表所示:
原料
甲
乙
原料可供应量
第一种原料(kg)
1
1
3500
第二种原料(kg)
1
0
1500
第三种原料(kg)
5
2
10000
单位产品利润(元)
5
3
问如何安排生产使利润最大?