《数值计算方法训练》
实习报告
题 目: 6-A组
院 系: 上海电力学院数理学院
专业年级: 信息与计算科学专业2009级
学生姓名: XX远 学号:
2011年7月8日
第1题:含炭量与时间的关系
在某冶炼过程中,钢的含炭量y与时间t的统计数据如下
t0510152025303540455055y01.272.162.863.443.874.154.374.514.584.024.64(1)画出原始数据分布趋势图;
(2)用最小二乘法求钢的含炭量y与时间t的拟合曲线;
(3)打印出拟合曲线;
(4)另外选用进行拟合,比较二种拟合的效果。
解:分析:使用到曲线拟合的最小二乘法,对于拟合函数,尽量转化为可以方便提炼出基函数的方程。在明确基函数的基础上,通过计算,得到各个系数,得到法方程组
(1),程序:function yuan(y)
t=[0:5:55];
plot(t,y,'*')
legend('原始数据分布趋势图')
运行结果:yuan([0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64])
图1 原始数据分布趋势
(2),使用最小二乘法,就必须先取基函数,对于该题流程如下:
①:取基函数为:
②:由基函数和求法方程组的系数:
③:由这些系数,确定法方程组:
④:解这个法方程组:,得到拟合函数:
程序:function [a,b,c]=xian(y0)
t0=[0:5:55];
k1=t0;
k2=t0.*t0;
k3=t0.*t0.*t0;
A=[sum(k1.*k1) sum(k2.*k1) sum(k3.*k1);sum(k1.*k2) sum(k2.*k2) sum(k3.*k2);sum(k1.*k3) sum(k2.*k3) sum(k3.*k3)];
B=[sum(k1.*y0);sum(k2.*y0);sum(k3.*y0)];
x=pinv(A)*B;
a=x(1,1);
b=x(2,1);
c=x(3,1);
t=0:55;
y=a.*t+b.*t.^2+c.*t.^3;
plot(t,y,'--')
hold on
plot(t0,y0,'*')
legend('y=a*t+b*t^2+c*t^3拟合效果','真实值')
运行结果:[a,b,c]=xian([0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64])
a =
0.2657
b =
-0.0053
c =
3.5168e-005
(3)拟合的图形,即上一题显示的图像
图2 拟合函数效果
(4),用于这种非线性模型的拟合
①:把其化作线性:→两边同时取以e为底的对数→
②:重复上面第二题的步骤进行,其中需要强调的是(0,0)的点需要另外输入,因为不存在,为了在同图出现,故对第二条拟合函数,取
程序:function [m,n,a,b,c]=fei(y2,y0)%y2=y0除了0以外的数
y1=log(y2);
t1=[5:5:55];
n=length(t1);
k1=ones(1,n);
k2=log(t1);
A=[sum(k1.*k1) sum(k2.*k1);sum(k1.*k2) sum(k2.*k2)];
B=[sum(k1.*y1);sum(k2.*y1)];
x=pinv(A)*B;
m=exp(x(1,1));
n=x(2,1);
t=0:55;
y=m*t.^n;
plot(t,y,'-')
hold on
[a,b,c]=xian(y0)
plot(t,y,'--')
hold on
plot(t1,y2,'*',0,0,'*')
legend('y=m*t.^n拟合效果','y=a*t+b*t^2+c*t^3拟合效果','真实值')
得到的拟合图像:
图3 两种拟合函数拟合效果对比
结论:在实际生活当中,不免需要对一组数据进行拟合,通过采用最佳的拟合,找到一个近似的函数来研究数据的共性。通过这一道题目,发现不同的函数,拟合效果差别也是蛮大的。
第2题:特征值与特征向量
用幂法求下列矩阵的主特征值与相应的特征向量
(1) (2)
解:利用幂法求矩阵A的主特征值与相应的特征向量,首先要给一个初始向量:
①:定义一个和A行数一致的1列全一矩阵,即
②:,为了方便计算,减少计算量,需要求出中按模最大的那个分量的值,同时得到向量,由此可知
③:重复第二