实验报告
当前位置:首页 > 工作报告 > 实验报告 > 列表页

最小二乘法数值分析实验报告

小草范文网  发布于:2016-11-29  分类: 实验报告 手机版

篇一:数值分析+最小二乘法实验报告

数学与信息工程学院

课程名称:

实 验 室:

实验台号:

班 级:

姓 名:

实验日期: 验 报 告数值分析2012年 4 月 13日

篇二:数值分析实验报告

数值分析实验报告

姓 专

学 号:

2014年12月17日

一 问题提出

从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y与时间t的拟合曲线。

二 要求

1、用最小二乘法进行曲线拟合; 2、近似解析表达式为;f(t)=a1t+a2t+a3t

3、打印出拟合函数f(t),并打印出f(tj)与y(tj)的误差,

j=1,2,.....,12

4、另外选取一个近似表达式,尝试拟合效果的比较; 5、绘制出曲线拟合图。

2

3

三 意义和目的

1、掌握曲线拟合的最小二乘法;

2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。

四 计算方法

本题要求我们用??t??a1t?a2t2?a3t3对曲线进行拟合,这里

m?11,?1?t,?2?t2,?3?t3,故

??1,?1???t

i?0

11

2i

?12650,??1,?2????2,?1???ti3?5445

最小二乘法数值分析实验报告

00,

i?011

11

??2,?2???t

i?0

11

4i

?24983750,??1,?3????3,?1???ti4?24983750,

i?011

11

5i

??3,?2????2,?3???t

i?011

?1193362500,??3,?3???ti6?58593218750

i?0

11

??1,y???tiyi?1365.55,??2,y???ti2yi?54350.75,

i?0

i?0

??3,y???ti3yi?2379846.25

i?0

11

由于???k,?j?aj?dj?k?0,1,,n?, 可以利用此式算出拟合曲线

j?0

n

的ai,即

???1,?1???1,?2???1,?3???a1????1,y1?????????,??,??,?a??,y?????????2122?22? 23??2?

??,??,??,???a???,y???31??32??33???3???33??

所以求得a1?2.6?6?51,0a2??5.29?10?7,a3?3.52?10?9,

??t??2.66?10?5t?5.29?10?7t2?3.52?10?9t3

1

1

差为

?i?y???ti??i?0

i

,?

1,

max?i?

0.455i

?0.51293892

五 程序具体实现

private void ResultReport_Load(object sender, System.EventArgs e)

{}

//初始化各个变量。 private void InitialDeal() {

int i = 0;

while(tString.Length > 0) { t[i++]

=

this.InitialDeal(); this.Deal();

Convert.ToDouble(tString.Substring(0,tString.IndexOf(","))) * tUnit;} num = i; i = 0;

while(yString.Length > 0) { y[i++]

= *

tString = tString.Remove(0,tString.IndexOf(",") + 1);

Convert.ToDouble(yString.Substring(0,yString.IndexOf(",")))

yUnit; } i = 0; while(i < num) {}

this.labelA11.Text = a11.ToString("#.00E0;(#.00E0);0.00"); i = 0; while(i < num) {} a21 = a12;

this.labelA12.Text = a12.ToString("#.00E0;(#.00E0);0.00"); this.labelA21.Text = a21.ToString("#.00E0;(#.00E0);0.00"); i = 0; while(i < num) {

a12 += y[i]*y[i]*y[i]; i++;

a11 += y[i]*y[i]; i++;

yString = yString.Remove(0,yString.IndexOf(",") + 1);

篇三:数值分析作业-曲线拟合的最小二乘法

《数值分析》实验报告

课题八:曲线拟合的最小二乘法

姓名: 学号: 专业: 学院:

一、实验课题:曲线拟合的最小二乘法

从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。

在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t的拟合曲线。

二、理论意义和实用价值。

如果已知函数f(x)在若干点xi(i=1,2,…,n)处 的值yi,便可根据插值原理来建立插值多项式作为f(x)的近似。但在科学实验和生产实践中,往往会遇到这样一种情况,即节点上的函数值并不是很精确的,这些函数值是由实验或观测得到的数据,不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi),就会使曲线保留着一些测试误差。当个别数据的误差较大时,插值效果显然是不理想的。此外,由实验或观测提供的数据个数往往很多,如果用插值法,势必得到次数较高的插值多项式,这样计算起来很烦琐。

所以我们设想:在大量的随机数据X(X1、X2、X3……Xn)与Y(y1、y2、……yn),从看似无规律的这两组离散数据中,找到一条一条曲线Y=F(x),使数据点均在离此曲线的上方或下方不远处,它既能反映数据的总体分布,又不至于出现局部较大的波动,更能反映被逼近函数的特性,使求得的逼近函数与已知函数从总体上来说其偏差按某种方法度量达到最小,这就是曲线拟合最小二乘法。 在对给出的实验(或观测)数据作曲线拟合时,一般希望各实验(或观测)数据与拟合曲线的偏差的平方和最小,这就是最小二乘原理。

曲线拟合不要求曲线通过所有已知点,而是要求得到的近似函数能反映数据的基本关系。此外,由于实验或观测提供的数据个数往往很多,如果用插值法,势必得到次数较高的插值多项式,这样计算起来很麻烦,缺乏实用价值,所以从某些意义上来说,在解决实际问题的过程中,曲线拟合更具有实用价值。

三、计算过程

将给定数据作散点图,始图所示,选择形如S1(X)=a1(x)+a2(x2)+a3(x3)作为拟

合曲线,这里? x =span(1,x,x2,x3)

设f(x)?C[a,b], ??span{?0,?,?n}?C[a,b], ?0,?,?n是

正交函数族,则

*

??(f,?0)???a0 ?(?0,?0)

???*??(f,?)?(?1,?1) ?1?? ?a1? ? ? ?????????

??*??? ?(?,?)(f,?)ann??n???n???

*ak?(f,?k)/(?k,?k),(4.8)

nn

(f,?k)**sn(x)??ak?k(x)???k(x). (4.9)2

k?0k?0||k||2 均方误差||?(x)||? ||f(x)?s*(x)||?(f(x)?s*(x),f(x))1/2

n

2

n

2

n

???(f,?k)(f,?k)2

????(f,f)?(?,f)?||f||???k222?? ?k?0||?k||2k?0||?k||2???

根据以上公式求出:a0=0.000 a1=-0.0052 ,a2=0.2634 a3=0.0178

n

n

12

2

???. ?

12

所求的拟合曲线为S1(X)=-0.0052X+0.2634x2+0.0178x3

若取S2(X)=a0+a1(x)+a2(x2)

求出a0=-0.0024 a1=0.2037 ,a2=0.2305所求的S2(X)=-0.0024+0.2037x+0.2305x2

四、曲线拟合图

五、结构程序设计

x=0:5:55

y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64]; xnum=length(x); plot(x,y,'o'),hold on;

pi=polyfit(x,y,3) pj=polyfit(x,y,2) newx=0:0.1:55;

newyi=polyval(pi,newx); newyj=polyval(pj,newx);

yi=polyval(pi,x) yj=polyval(pj,x)

erri=yi-y

errj=yj-y

plot(x,erri,'.r'),hold on; plot(x,errj,'*b'),hold on;

S_erri=sum(erri.^2) S_errj=sum(errj.^2)

plot(newx,newyi,'r',newx,newyj,'b'),grid off,hold off;

x =

0 5 10 15 20 25 30 35 40 45 50 55 pi =

0.0000-0.0052 0.2634 0.0178 pj =

-0.0024 0.2037 0.2305 yi =

Columns 1 through 8

0.0178 1.2087 2.1646 2.9113 3.4745 3.8800 4.1536 4.3211Columns 9 through 12

4.4082 4.4407 4.4444 4.4450 yj =

Columns 1 through 8

0.2305 1.1894 2.0293 2.7502 3.3521 3.8349 4.1987 4.4435Columns 9 through 12

4.5693 4.5760 4.4637 4.2324 erri =

Columns 1 through 8

0.0178-0.0613 0.0046 0.0513 0.0345 0.0100 0.0036-0.0489Columns 9 through 12

-0.1018-0.1393 0.4244-0.1950 errj =

本文已影响