计算方法实验报告 拟合

合集下载

拟合实验报告

拟合实验报告

2009年——2010年第一学期合肥学院数理系实验报告课程名称:数值分析实验项目:数据拟和实验类别:验证性专业班级:08数学与应用数学(2)班姓名:卢王菲学号:0807022048 实验地点:7#604实验时间:2009—11-19指导教师:孙梅兰成绩:一.实验目的:了解最小二乘法的基本原理,用最小二乘法求拟合数据的多项式,做出离散函数),(i i y x 和拟合函数的图形,掌握利用最小二乘法进行数据拟合的基本思想,熟悉寻找最佳方法拟合曲线的方法,通过计算机解决实验问题二.实验内容:1. 由化学实验得到某物质浓度与时间的关系如下:求浓度与时间的二次拟合曲线。

2.从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线,在某冶炼过程中,(1) 用画出原始数据分布趋势图;(2) 最小二乘法进行曲线拟合,近似解析表达式为; (3) 打印出拟合曲线;(4) 另外选取一个近似表达式(比如),尝试拟合效果的比较。

三 实验方案:用最小二乘法求拟合数据的多项式,做出离散函数),(i i y x 和拟合函数的图形通过计算机解决实验问题。

四. 实验步骤或程序:>> ti=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16];>> yi=[4.00 6.40 8.00 8.80 9.22 9.50 9.70 9.86 10.00 10.20 10.32 10.42 10.50 10.55 10.58 10.60]; >> plot(ti,yi,'o')>> A=[ones(size(ti));ti;ti.^2]' A =1 1 11 2 41 3 91 4 161 5 251 6 361 7 491 8 641 9 811 10 1001 11 1211 12 1441 13 1691 14 1961 15 2251 16 256>> a=A\yi'a =4.38751.0660-0.0445>> b=[-0.0445 1.0660 4.3875]b =-0.0445 1.0660 4.3875 >> y=poly2str(b,'t')y =-0.0445 t^2 + 1.066 t + 4.3875 >> f2=polyval(flipud(a),ti);>> plot(ti,yi,'bo',ti,f2,'r-')(1)画出数据分布趋势图>> xi=[0 5 10 15 20 25 30 35 40 45 50 55];>> yi=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64]; >> plot(xi,yi,'o')(2)建立数学模型y=a2 x^2+ a1 x + a0建立超定方程组系数矩阵>> A=[ones(size(xi));xi;xi.^2]'A =1 0 01 5 251 10 1001 15 2251 20 4001 25 6251 30 9001 35 12251 40 16001 45 20251 50 25001 55 3025(3)求超定方程组的最小二乘解>> a=A\yi'a =0.23050.2037-0.0024(4)求拟合曲线方程>> b=[-0.0024 0.2037 0.2305]b =-0.0024 0.2037 0.2305>> y=poly2str(b,'x')y =-0.0024 x^2 + 0.2037 x + 0.2305>> f2=polyval(flipud(a),xi);>> plot(xi,yi,'bo',xi,f2,'r-')(5)用方程y=ax^b拟合>> x=[ones(size(xi));log(xi)];Warning: Log of zero.>> aa=x'\log(yi)'Warning: Log of zero.Warning: Rank deficient, rank = 0, tol = 1.#INFe+000. aa =>> yy=exp(2.1257)*xi.^(-0.6913); >> yy=exp(2.1257)*xi.^(-0.6913); >>plot(xi,yi,'bo',xi,yy,'r--',xi,f2,'b-')五.程序运行结果:见上面的由程序所绘出的图形。

曲线拟合实验报告[优秀范文5篇]

曲线拟合实验报告[优秀范文5篇]

曲线拟合实验报告[优秀范文5篇]第一篇:曲线拟合实验报告数值分析课程设计报告学生姓名学生学号所在班级指导教师一、课程设计名称函数逼近与曲线拟合二、课程设计目的及要求实验目的: ⑴学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。

⑵学会基本的矩阵运算,注意点乘与叉乘的区别。

实验要求: ⑴编写程序用最小二乘法求拟合数据的多项式,并求平方误差,做出离散函数与拟合函数的图形;⑵用MATLAB 的内部函数polyfit 求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLAB的内部函数plot作出其图形,并与(1)结果进行比较。

三、课程设计中的算法描述用最小二乘法多项式曲线拟合,根据给定的数据点,并不要求这条曲线精确的经过这些点,而就是拟合曲线无限逼近离散点所形成的数据曲线。

思路分析 : 从整体上考虑近似函数)(x p 同所给数据点)(i iy x , 误差i i iy x p r -=)(的大小,常用的方法有三种:一就是误差i i iy x p r -=)(绝对值的最大值im ir≤≤ 0max ,即误差向量的无穷范数;二就是误差绝对值的与∑=miir0,即误差向量的 1成绩评定范数;三就是误差平方与∑=miir02的算术平方根,即类似于误差向量的 2 范数。

前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑 2 范数的平方,此次采用第三种误差分析方案。

算法的具体推导过程: 1、设拟合多项式为:2、给点到这条曲线的距离之与,即偏差平方与:3、为了求得到符合条件的 a 的值,对等式右边求偏导数,因而我们得到了:4、将等式左边进行一次简化,然后应该可以得到下面的等式5、把这些等式表示成矩阵的形式,就可以得到下面的矩阵:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∑∑∑∑∑∑∑∑∑∑∑=====+==+====niininiiknikinikinikinikiniiniinikiniiyyyaax x xx x xx x11i11012111111211 1an MMΛM O M MΛΛ 6.将这个范德蒙得矩阵化简后得到⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡n kkn nkkyyyaaax xx xx x M MΛM O M MΛΛ21102 21 1111 7、因为 Y A X = * ,那么 X Y A / = ,计算得到系数矩阵,同时就得到了拟合曲线。

数值计算方法实验报告

数值计算方法实验报告

数值计算方法实验报告一、实验介绍本次实验是关于数值计算方法的实验,旨在通过计算机模拟的方法,实现对于数值计算方法的掌握。

本次实验主要涉及到的内容包括数值微积分、线性方程组的求解、插值与拟合、常微分方程的数值解等。

二、实验内容1. 数值微积分数值微积分是通过计算机模拟的方法,实现对于微积分中的积分运算的近似求解。

本次实验中,我们将会使用梯形公式和辛普森公式对于一定区间上的函数进行积分求解,并比较不同公式的计算误差。

2. 线性方程组的求解线性方程组求解是数值计算领域中的重要内容。

本次实验中,我们将会使用高斯消元法、LU分解法等方法对于给定的线性方程组进行求解,并通过比较不同方法的计算效率和精度,进一步了解不同方法的优缺点。

3. 插值与拟合插值与拟合是数值计算中的另一个重要内容。

本次实验中,我们将会使用拉格朗日插值法和牛顿插值法对于给定的数据进行插值求解,并使用最小二乘法对于给定的函数进行拟合求解。

4. 常微分方程的数值解常微分方程的数值解是数值计算中的难点之一。

本次实验中,我们将会使用欧拉法和龙格-库塔法等方法对于给定的常微分方程进行数值解的求解,并比较不同方法的计算精度和效率。

三、实验结果通过本次实验,我们进一步加深了对于数值计算方法的理解和掌握。

在数值微积分方面,我们发现梯形公式和辛普森公式都能够有效地求解积分,但是辛普森公式的计算精度更高。

在线性方程组求解方面,我们发现LU分解法相对于高斯消元法具有更高的计算效率和更好的数值精度。

在插值与拟合方面,我们发现拉格朗日插值法和牛顿插值法都能够有效地进行插值求解,而最小二乘法则可以更好地进行函数拟合求解。

在常微分方程的数值解方面,我们发现欧拉法和龙格-库塔法都能够有效地进行数值解的求解,但是龙格-库塔法的数值精度更高。

四、实验总结本次实验通过对于数值计算方法的模拟实现,进一步加深了我们对于数值计算方法的理解和掌握。

在实验过程中,我们了解了数值微积分、线性方程组的求解、插值与拟合、常微分方程的数值解等多个方面的内容,在实践中进一步明确了不同方法的特点和优缺点,并可以通过比较不同方法的计算效率和数值精度来选择合适的数值计算方法。

计算方法_实验报告

计算方法_实验报告

一、实验目的1. 理解并掌握计算方法的基本概念和原理;2. 学会使用计算方法解决实际问题;3. 提高编程能力和算法设计能力。

二、实验内容本次实验主要涉及以下内容:1. 线性方程组的求解;2. 多项式插值;3. 牛顿法求函数零点;4. 矩阵的特征值和特征向量求解。

三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 科学计算库:NumPy、SciPy四、实验步骤及结果分析1. 线性方程组的求解(1)实验步骤a. 导入NumPy库;b. 定义系数矩阵A和增广矩阵b;c. 使用NumPy的linalg.solve()函数求解线性方程组。

(2)实验结果设系数矩阵A和增广矩阵b如下:A = [[2, 1], [1, 2]]b = [3, 2]解得:x = [1, 1]2. 多项式插值(1)实验步骤a. 导入NumPy库;b. 定义插值点x和对应的函数值y;c. 使用NumPy的polyfit()函数进行多项式拟合;d. 使用poly1d()函数创建多项式对象;e. 使用多项式对象计算插值点对应的函数值。

(2)实验结果设插值点x和对应的函数值y如下:x = [1, 2, 3, 4, 5]y = [1, 4, 9, 16, 25]拟合得到的二次多项式为:f(x) = x^2 + 1在x = 3时,插值得到的函数值为f(3) = 10。

3. 牛顿法求函数零点(1)实验步骤a. 导入NumPy库;b. 定义函数f(x)和导数f'(x);c. 设置初始值x0;d. 使用牛顿迭代公式进行迭代计算;e. 判断迭代结果是否满足精度要求。

(2)实验结果设函数f(x) = x^2 - 2x - 3,初始值x0 = 1。

经过6次迭代,得到函数零点x ≈ 3。

4. 矩阵的特征值和特征向量求解(1)实验步骤a. 导入NumPy库;b. 定义系数矩阵A;c. 使用NumPy的linalg.eig()函数求解特征值和特征向量。

实验数据的拟合

实验数据的拟合
八 实验数据的拟合
一、实验目的
学会MATLAB软件中利用给定数据进行拟合运算的 方法。
二、相关知识
在上一个实验中,我们已经讨论了在生产和科学实 验中,需要利用插值和拟合的场合,本实验讨论拟 合。在MATLAB中,拟合也有相应的函数来完成。 我们首先来讨论拟合的数学定义。
已知离散点上的数据集 {(x1, y1), (x2, y2 ), , (xn, yn )},即 已知在点集 {x1, x2 , , xn}上的函数值 {y1, y2, , yn} , 构造一个解析函数 f (x)(其图形为一曲线),使 f (x)
T/C 31 32 31 29 27 25 24 22 20 18 17 16
考虑下列类型函数,得到残差。并作图比较效果: (1)二次多项式函数; (2)三次多项式函数; 3.简述插值与拟合的区别。 4.完成实验报告。
2.假定某天的气温变化记录如下表,试用最小二 乘法找出这一天的气温变化规律。
t/h 0 1 2 3 4 5 6 7 8 9 10 11 12
T/C 15 14 14 14 14 15 16 18 20 22 23 25 28
t/h 13 14 15 16 17 18 19 20 21 22 23 24
c=lsqcurvefit(fun,c0,x,y)
说明:polyfit求出已知数据x,y的n阶拟合多项式
f (x) 的系数p,x,y都是向量,x的分量必须单调。
lsqcurvefit用作各种类型曲线的拟合,用最小二乘 法寻找符合经验公式的最优曲线。可用非线性函数 的数据拟合。
例1:求如下给定数据的拟合曲线, 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]。

计算方法实验三 不同曲线拟合比较讲解

计算方法实验三  不同曲线拟合比较讲解

计算方法C(2014-2015-2)【不同拟合曲线的比较】实验报告学号:******* 姓名:*****8课程教师:戴克俭教学班级:无实验三 不同拟合曲线的比较实验目的:掌握曲线拟合和最小二乘法的思想,比较不同拟合曲线的精度。

实验题目:下表给出了我国1949~1984年间的一些人口数据,分别按下述方案求最小二乘拟合函数及其偏差平方和Q ,求1969年人口并预测方案I 拟合函数取如下形式的三次多项式3322101)(x a x a x a a x F +++=方案II 用离散正交多项式求三次拟合多项式)(2x F 方案III 用离散正交多项式求四次拟合多项式)(3x F 方案IV 拟合函数为如下形式的函数10sin)(4xb a x F π+=算法流程图如下:i、方案1 ii、方案2iii、方案3iv、方案4源程序清单如下:i、方案1图1:求3次多项式图2:求偏差ii、方案2图3:求3次多项式iii、方案3图4:求4次多项式图5:求sin(π*X/10)图6:nafit函数M文件图7:命令行输入运算结果如下:⑴、方案1P(X)=745181.85611415-1135.160413656X+0.576328328X^2-0.000097520X^3 P(1969)= 11.4973750142380600 亿P(2000)=14.3408021503128110亿图8 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据误差很大⑵、方案2P(X)=732370.3125-1115.615844727X+0.566389024X^2-0.000095836X^3P(1969)= 4.1277828774182126亿P(2000)= 6.7190460005076602亿图9 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据误差很大⑶、方案3P(X)=30212.5+320.9404296875X-0.5357236862X^2+0.0002799341X^3-0.000000048X^4P(1969)= 627.7665998683078200 亿P(2000)= 671.4145749998278900 亿图10 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据蓝色线的数值全是上百亿与实际严重不符误差巨大⑷、方案4P(X)=0.2414+7.7753sin(π*X/10)P(1969)= 2.6441006951177228 亿P(2000)= 0.2413990828363674 亿图11 拟合曲线:蓝色线表示拟合曲线P(X),整体看该曲线具有和sin近似的周期性质,与实际数据不是很符合。

数学实验报告数据拟合

数学实验报告数据拟合

实验报告一·实验指导书解读本次实验是通过两个变量的多组记录数据利用最小二乘法寻求两个变量之间的函数关系!两个变量之间的函数关系要紧有两种:一是线性关系(一次函数);二是非线性关系(非一次的其它一元函数)。

因此本实验做两件事:一是线性拟合(练习1);二是非线性拟合(练习2、3、4)。

练习2是用多项式函数拟合,练习3是用指数函数、对数函数、双曲函数、三角函数、分式有理多项式函数等初等函数拟合,练习4是用分段函数(非初等函数)拟合。

二、实验打算1.用线性函数拟合程序线性拟合曲线ft1可由如下mathematica程序求出:lianxi1biao= { {100,45} , {110,51} , { 120,54} , {130,61} , {140,66} , {150,70} , {160,74} , {170,78} , {180,85} , {190,89} }ft1=Fit[lianxi1biao,{1,x},x]gp = Plot [ ft1 , {x,100,190} , PlotStyle -> { RGBColor[1,0,0]} ]fp = ListPlot [ lianxi1biao,PlotStyle->{PointSize[],RGBColor[0,0,1]} ]Show[fp,gp]a= ;b= ;f[x_]=a*x+b;dareta=Sum[(lianxi1biao[[i,2]]-f[lianxi1biao[[i,1]]])^2,{i,1,10}]修改、补充程序:要说明拟合成效,要紧从形(大多数散点是不是在拟合曲线上或周围)与量(残差是不是小)!计算残差的程序:假设对两个变量的多组记录数据已有程序biao={{x1,y1},{x2,y2},…,{xn,yn}}而且通过Fit取得线性拟合函数y=ax+b咱们能够先概念函数(程序)f[x_]:=a*x+b再给出计算残差的程序dareta=Sum[(biao[[i ,2]]-f[biao[[i ,1]]])^2,{i ,1, n}]程序说明:biao[[i]]是提取表biao的第i行,即{xi,yi}biao[[i ,1]] 是提取表biao的第i行的第一个数, 即xibiao[[i ,2]] 是提取表biao的第i行的第一个数, 即yibiao[[i ,2]]-f[biao[[i ,1]]] 即yi-(a*xi+b)实验思路1、先对练习1的十组数据线性拟合,并从形与量看拟合成效;2、对练习1的十组数据中的九组数据线性拟合,并从形与量看拟合成效;3、对练习1的十组数据中的八组数据线性拟合,并从形与量看拟合成效;4、对练习1的十组数据中的七组数据线性拟合,并从形与量看拟合成效;5、对练习1的十组数据中的六组数据线性拟合,并从形与量看拟合成效。

最小二乘法多项式拟合实验报告.docx

最小二乘法多项式拟合实验报告.docx

连续系统仿真实验报告实验数据拟合建模姓名:专业:学号:时间:2013年5月1日实验单元二实验数据拟合建模一、实验目的1、 用C 语言实现最小二乘的多项式拟合和LU 分解法;2、 熟练掌握最小二乘拟合和LU 分解法的基本原理。

3、 体会用计算机编程解决计算问题的方法。

二、需求说明(一) 、需求阐述本次实验是要求根据己知的自变量和函数值,通过多项式拟合來分别计 算2、3、4阶拟合多项式,并根据拟合结果分別计算出待求点的函数值。

其中解 拟合系数方程组时采用LU 分解的方法计算拟合多项式的系数。

(二) 、实验公式m 次拟合函数公式为:(p (x )=ao 七1対~・・・可点"计算系数4的方程组为:Sg a 0 +S] a 】 +...4-s ni a ni =t 0 < S]a ()+s?a]+...+s mF ]a m =t]k Sm a 0 +S mH a i +• •丹加^冃 其中 》= 士疋E ,i-0所以,在编程计算时,先计算出方程组①,再用LU 分解法计算求出耳的 值,即可得到拟合多项式。

LU 分解法的公式为:其中L 矩阵和U 矩阵的计算公式如下: 第一步,当k 二1,有:「1 0 0・・・01〔21 1 0-0^31 彳32 1 ••::::0 厶L ……1-i=0n-l最后求 u nn : U nn =a nn -^l m u m r=l三、设计说明(一) 、数据结构程序采用一维数组的形式来读取文件中给出的己知点处的值和要计算的未 知点处的H 变量值,最终的拟合计算结果也是采用一维数组的形式输出到文件中。

拟合多项式的系数a 和拟合系数方程组的参数t 都是采用一维数组來存储的,而 拟合系数方程组中的参数s 和L 、U 矩阵都是用二维数组來表示的。

由于要分别 计算2、3、4阶拟合结果,所以数组的规模取为5,矩阵的规模取为5*5.(二) 、算法设计及效率分析在进行LU 分解函数中,在计算L 矩阵和U 矩阵时,因为当k=2,3.-,n-l 时, 计算丈M 和土皿的循环条件不允许k=l 时进入,而正好k=l 时,计算1“和i 町不 x-1 r-1k-1 k ・l需要工1丿匕和工1以崎,因而对k=l 和k=2,3,-,n-l,就可以和在一起计算,这样就减少了 r=lr=l程序的长度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南京信息工程大学实验(实习)报告一、实验目的:
用最小二乘法将给定的十个点拟合成三次多项式。

二、实验步骤:
用matlab编制以函数为基的多项式最小二乘拟合程序,并用于对下列数据作三次多项式最小二乘拟合(取权函数wi=1)
给定直线方程为:y=1/4*x3+1/2*x2+x+1
三、实验结论:
最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。

利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

最小二乘法还可用于曲线拟合。

一般地。

当测量数据的散布图无明显的规律时,习惯上取n次代数多项式。

程序运行结果为:
a =
即拟合的三次方程为:y=++*x2+*x3
x 轴
y 轴
拟合图
结论:
一般情况下,拟合函数使得所有的残差为零是不可能的。

由图形可以看出最小二乘解决了残差的正负相互抵消的问题,使得拟合函数更加密合实验数据。

优点:曲线拟合是使拟合函数和一系列的离散点与观测值的偏差平方和达到最小。

缺点:由于计算方法简单,若要保证数据的精确度,需要大量的数据代入计算。

相关文档
最新文档