290415李亚韦实验五温度分布的曲线拟合.docx
《290415李亚韦实验五温度分布的曲线拟合.docx》由会员分享,可在线阅读,更多相关《290415李亚韦实验五温度分布的曲线拟合.docx(15页珍藏版)》请在冰豆网上搜索。
290415李亚韦实验五温度分布的曲线拟合
温度分布的曲线拟合
2904203015李亚韦
一、实验描述
在当今日常生活和科学研究中,常常会经过某些数据来进行曲线拟合,通过所得的拟合曲线,我们可以推断出某些规律或者事物即将发展的规律,给我们以帮助,好在事情发生之时做出准备,能更好的处理问题。
在生活中最为普遍的曲线拟合就是在股票中,他能帮我们清晰的呈现出股市的发展情况和预测股票的跌涨,帮我们做出决定;曲线拟合在天气方面像降雨量啊,这些方面也同样很有作用,在科学研究方面像卫星火箭发射也相当的重要,一句话曲线拟合对于我们来说已经是相当重要的一种科学运算方式,对我们各方面的发展都有着相当大的作用。
我们常用的拟合方法有线性的最小二乘拟合、曲线的最小二乘抛物线拟合、三次样条插值拟合、T7的三角多项式拟合、有4个控制点的贝塞尔曲线拟合等,每种方法各有异同,下面为各种方法的介绍。
线性最小二乘拟合:
线性最小二乘拟合的主要分析函数为:
对于已知的{}、{}满足关系式:
其中,
其中1≤k≤N
表示误差。
误差的种类如下:
最大误差:
平均误差:
均方根误差:
在这里我们可以通过:
来求得系数A,B的值,进而求得函数
曲线的最小二乘抛物线拟合:
最小二乘抛物线拟合的系数表示为:
我们可以通过如下方程组来求解A,B和C的值:
三次样条插值拟合:
三次条插值法的首要任务就是构造多项式(x),而构造要求如下:
根据判定三次样条的存在性知,每个三次多项式由四个未知数,因此需要求解4N个条件,根据给出的数据和上式的III、IV和V共提供了4N-2个条件,所以还有两个条件还得给出,我们称剩余两个条件为端点约束,它们由来确定。
而我们通过
即可求得。
T7的三角多项式拟合:
三角多项式逼近的级数:
其中:
通过以上式子就可以就出,这里我们取M=7。
有4个控制点的贝塞尔曲线拟合:
N阶贝塞尔曲线定义为:
它们都是t的函数,而
通过上面的式子我们就看求得不同的点,相连接后即可得到所需曲线。
二、实验内容
根据已知的数据表
(1),用线性的最小二乘拟合、曲线的最小二乘抛物线拟合、三次样条插值拟合、T7的三角多项式拟合、有4个控制点的贝塞尔曲线拟合求解个拟合图形。
时间pm
温度
时间am
温度
1
66
1
58
2
66
2
58
3
65
3
58
4
64
4
58
5
63
5
57
6
63
6
57
7
62
7
57
8
61
8
58
9
60
9
60
10
60
10
64
11
59
11
67
午夜
58
正午
68
表
(1)
线性最小二乘拟合:
流程图:
程序如下:
x=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
y=[58,58,58,58,57,57,57,58,60,64,67,68,66,66,65,64,63,63,62,61,60,60,59,58];
x11=sum(x.^2,2);%求解
x12=sum(x,2);%求解
x22=24;
y1=x*y';
y2=sum(y,2);%求解y2
X=[x11,x12;x12,x22];
Y=[y1;y2];
AB=inv(X)*Y;%求解系数A,B
t=0:
0.1:
24;
m=t*AB
(1)+AB
(2);%方程y=Ax+B
plot(t,m,x,y,'r.')
曲线的最小二乘抛物线拟合:
流程图:
Y
N
程序:
x=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
y=[58,58,58,58,57,57,57,58,60,64,67,68,66,66,65,64,63,63,62,61,60,60,59,58];
x11=sum(x.^4,2);%求解
x12=sum(x.^3,2);%求解
x13=sum(x.^2,2);%求解
x21=x12;
x22=x13;
x23=sum(x,2);%求解
x31=x13;
x32=x23;
x33=24;
y1=x.^2*y';
y2=x*y';
y3=sum(y,2);
X=[x11,x12,x13;x21,x22,x23;x31,x32,x33];
Y=[y1;y2;y3];
ABC=inv(X)*Y%求解系数A,B,C
t=0:
0.1:
24;
m=t.^2*ABC
(1)+t*ABC
(2)+ABC(3);%方程
plot(t,m,x,y,'r.')
次样条插值拟合:
流程图:
程序:
x=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
y=[58,58,58,58,57,57,57,58,60,64,67,68,66,66,65,64,63,63,62,61,60,60,59,58];
n=23;
dx0=(y
(2)-y
(1))/(x
(2)-x
(1));%求得
dxn=(y(n)-y(n+1))/(x(n)-x(n+1));%求得
h=diff(x);%系数
d=diff(y)./h;%系数
a=h(2:
n-1);
b=2*(h(1:
n-1)+h(2:
n));
c=h(2:
n);
u=6*diff(d);
b
(1)=b
(1)-h
(1)/2;
u
(1)=u
(1)-3*(d
(1)-dx0);
b(n-1)=b(n-1)-h(n)/2;
u(n-1)=u(n-1)-3*(dxn-d(n));
fork=2:
n-1
temp=a(k-1)/b(k-1);
b(k)=b(k)-temp*c(k-1);
u(k)=u(k)-temp*u(k-1);%系数
end
m(n)=u(n-1)/b(n-1);
fork=n-2:
-1:
1
m(k+1)=(u(k)-c(k)*m(k+2))/b(k);%系数
end
m
(1)=3*(d
(1)-dx0)/h
(1)-m
(2)/2;
m(n+1)=3*(dxn-d(n))/h(n)-m(n)/2;
fork=0:
n-1
s(k+1,1)=(m(k+2)-m(k+1))/(6*h(k+1));
s(k+1,2)=m(k+1)/2;
s(k+1,3)=d(k+1)-h(k+1)*(2*m(k+1)+m(k+2))/6;
s(k+1,4)=y(k+1);
%求解
end
x1=0:
0.01:
1;y1=polyval(s(1,:
),x1-x
(1));
x2=1:
0.01:
2;y2=polyval(s(2,:
),x2-x
(2));
x3=2:
0.01:
3;y3=polyval(s(3,:
),x3-x(3));
x4=3:
0.01:
4;y4=polyval(s(4,:
),x4-x(4));
x5=4:
0.01:
5;y5=polyval(s(5,:
),x5-x(5));
x6=5:
0.01:
6;y6=polyval(s(6,:
),x6-x(6));
x7=6:
0.01:
7;y7=polyval(s(7,:
),x7-x(7));
x8=7:
0.01:
8;y8=polyval(s(8,:
),x8-x(8));
x9=8:
0.01:
9;y9=polyval(s(9,:
),x9-x(9));
x10=9:
0.01:
10;y10=polyval(s(10,:
),x10-x(10));
x11=10:
0.01:
11;y11=polyval(s(11,:
),x11-x(11));
x12=11:
0.01:
12;y12=polyval(s(12,:
),x12-x(12));
x13=12:
0.01:
13;y13=polyval(s(13,:
),x13-x(13));
x14=13:
0.01:
14;y14=polyval(s(14,:
),x14-x(14));
x15=14:
0.01:
15;y15=polyval(s(15,:
),x15-x(15));
x16=15:
0.01:
16;y16=polyval(s(16,:
),x16-x(16));
x17=16:
0.01:
17;y17=polyval(s(17,:
),x17-x(17));
x18=17:
0.01:
18;y18=polyval(s(18,:
),x18-x(18));
x19=18:
0.01:
19;y19=polyval(s(19,:
),x19-x(19));
x20=19:
0.01:
20;y20=polyval(s(20,:
),x20-x(20));
x21=20:
0.01:
21;y21=polyval(s(21,:
),x21-x(21));
x22=21:
0.01:
22;y22=polyval(s(22,:
),x22-x(22));
x23=22:
0.01:
23;y23=polyval(s(23,:
),x23-x(23));
plot(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8,x9,y9,x10,y10,x11,y11,x12,y12,x13,y13,x14,y14,x15,y15,x16,y16,x17,y17,x18,y18,x19,y19,x20,y20,x21,y21,x22,y22,x23,y23,x,y,'*')
T7的三角多项式拟合:
流程图:
Y
N
Y
N
程序:
x=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
y=[58,58,58,58,57,57,57,58,60,64,67,68,66,66,65,64,63,63,62,61,60,60,59,58];
a0=sum(y)/12;%系数a0
fori=1:
24
xt(i)=-pi+i*pi/12;%求解
end
forj=1:
7
fork=1:
24
a(j)=y(k)*(cos(j*xt(k)))'/12;%求
b(j)=y(k)*(sin(j*xt(k)))'/12;%求
end
end
symst
forj=1:
7
m(j)=a(j)*cos(j*t)+b(j)*sin(j*t);%求
end
t7=a0/2+sum(m);%
k=0:
23;
t7=subs(t7,t,k);交换变量t,k并求出t7关于k的值
plot(k,t7,x,y,'.')
有四个控制点的贝塞尔曲线拟合:
Y
N
程序:
x=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
y=[58,58,58,58,57,57,57,58,60,64,67,68,66,66,65,64,63,63,62,61,60,60,59,58];
x1=[0,1,2,3];x2=[3,4,5,6];x3=[6,7,8