手机版

数值计算方法上机实验报告

发布时间:2024-11-10   来源:未知    
字号:

数值计算方法上机实验报告

上 华北电力大学

机 实 验 报

课程名称:数值计算方法 专业班级: 学生姓名: 学 号: 指导教师:

数值计算方法上机实验报告

一、列主元素消去法求解线性方程组 1.程序框图 2.算法原理

为避免绝对值很小的元素作为主元,在每次消元之前增加一个选主元的过程,将绝对值大的元素交换到主对角线的位置。列主元素消元法是当变换到第k步时,从k列的akk及以下的各元素中选取绝对值最大的元素,然后通过二交换将其交换到akk的位置上。

3.输入输出变量

aij

为系数矩阵的各个系数

k表示到第k步消元 4.具体算例

输入增广矩阵为: 3

二、LU分解法求解线性方程组1 2 -3 8 2 1 3 22 3 2 1 28

解得:x1=6,x2=4,x3=2;

1.算法原理

应用高斯消去法解n阶线性方程Ax b经过n 1步消去后得出一个等价的上三角形方程组A(n)x b(n),对上三角形方程组用逐步回代就可以求出解来。

数值计算方法上机实验报告

这个过程也可通过矩阵分解来实现。

将非奇异阵分解成一个下三角阵L和上三角阵U的乘积

A LU

称为对矩阵A的三角分解,又称LU分解。

Ly b

根据LU分解,将Ax b分解为 形式,简化了求解问题。

Ux y 2.程序框图 3.输入输出变量

aij为系数矩阵元素

bi为常数矩阵系数

lij,ui分别为下、上三角矩阵元素 j

k表示第k步消元 4.具体算例

输入增广矩阵 3 2 3 4 39 3 -2 2 14 4 2 3 43 解得: 6 5 3

三、拉格朗日插值

1.算法原理

设函数y f(x)在区间[a,b]上有节点

x0,x1,,,xn上的函数值,构造一个次数不超过n次

nn 1

1,n,p(x) ax ax a1x a0,使 P xi yi,i 0, nn 1的代数多项式。即n

次代数插值满足在n+1个节点上插值多项式P(x)和被插值函数f(x)相等,而且插值多项式P(x)的次数不超过n次。

数值计算方法上机实验报告

要求n阶插值多项式 ,可以通过求方程组的解 得到。但由于解线性代数方程组的计算量比较大,构造插值多项式时,仍用基函数构造。

希望能找到满足以下条件的n 次多项式 l i(x)

0,

li(xj)

1,

j ij i

(j 0,1, ,n)

然后令

P(x) li(x)yi

i 0

n

,则显然有P (xi) = yi 。

除xi 点外, 其余xj 都是li(x) 的根,可设

x li(x) A(

x )( x (xx) (xn x)i1x) i1

其中A为常数, 由li (xi)=1可得

A

li(x)

1

(xi x (xxx0)i i1)( i

i1

x )

(xi

n) x

(x x0) x( xi 1)x( xi 1 )x (xn)

(xi x0) (xi xi 1)(xi xi )1 (xi xn)

n

j 0j i

(x xj)(xi xj)

(i 0,1, ,n)

上式为拉格朗日基函数。

利用拉格朗日基函数式l i(x), 构造多

项式

P(x) li(x)yi

i 0

n

为拉格朗日插值多项式。

2.程序框图 3.输入输出变量 (xi,yi)为插值节点

t为累乘所得的基函数 y为函数的近似值 4.具体算例

数值计算方法上机实验报告

构造插值多项式,求f(0.49)和f(0.51)。 输出:f(0.49)=18.3687 f(0.51)=15.6188 。

四、最小二乘法的曲线拟合 1.算法原理

记向量的某种范数

e 0, 1, , n

T

,要求残差 i按某种度量标准为最小,即要求向量e

e

e

最小。例如,可要求e的1-范数

或 范数

e

最小。但为了

便于微分计算,通常用2-范数:

N

2

e2 i2 F xi f xi

i 0

i 0

2

N

为最小,这种要求误差平方和最小的拟合成为曲线拟合的最小二乘法。 2.程序框图 3.输入输出变量

(xi,yi)为插值节点,且共有n+1个插值节点

a0,a1,a2为为拟合的二次多项式的系数 计算

a0N a1 xi am xim yi

a0 xi a1 xi2 am xim 1 xiyi

a0 xim a1 xim 1 am xi2m ximyi

a0,a1,a2即解

数值计算方法上机实验报告

输出结果: a0=0.0785714 a1=0.625453 a2=-0.0026505 Y(5)=3

五、改进欧拉方法求解常微分方程的初值问题 1.算法原理

改进欧拉公式

(0) yn

1 yn hf(xn,yn)

h(0)

f(xn,yn) f(xn 1,yn 1) yn 1 yn 2

先用显式欧拉公式作预报算出yn 1,再将它带入隐式欧拉公式的右边算出yn 1,

这样得到改进欧拉公式。

可表示为嵌套格式:

h

yi 1 yi f(xi,yi) f xi 1,yi hf(xi,yi) 2平均化形式

(i 0,...,n 1)

yp=yn+hf(xn,yn)

yc=yn+hf(xn

1,yp)

yn 1=1(yp+yc) 2

2.程序框图 3.输入输出变量

x0为x的初值,y0为y的初值, h为步长,N为计算次数。

数值计算方法上机实验报告

y'=(3*x*x 4*y*y) Y(0)=5 0≤x≤10 h=0.1 N=100

解得0.1 5.52318 0.2 6.09783 0.3 6.73002 0.4 7.42636 0.5 8.19407 0.6 9.04107 0.7 9.97603 0.8 11.0085 0.9 12.149 1 13.409 1.1 14.8012 1.2 16.3398 1.3 18.0402 1.4 19.9194 1.5 21.9964 1.6 24.2919 1.7 26.8289 1.8 29.6329 1.9 32.7318 2 36.1567 2.1 39.9418 2.2 44.1249 2.3 48.7478 2.4 53.8566

数值计算方法上机实验报告

2.5 59.5024 2.6 65.7416 2.7 72.6364 2.8 80.2556 2.9 88.6753 3 97.9795 3.1 108.261 3.2 119.623 3.3 132.178 3.4 146.051 3.5 161.382 3.6 178.323 3.7 197.042 3.8 217.728 3.9 240.586 4 265.844 4.1 293.755 4.2 324.596 4.3 358.676 4.4 396.334 4.5 437.947 4.6 483.93 4.7 534.74 4.8 590.886 4.9 652.928 5 721.484 5.1 797.238 5.2 880.947 5.3 973.445

数值计算方法上机实验报告

5.4 1075.66 5.5 1188.6 5.6 1313.4 5.7 1451.31 5.8 1603.69 5.9 1772.08 6 1958.15 6.1 2163.75 6.2 2390.95 6.3 2641.99 6.4 2919.4 6.5 3225.94 6.6 3564.66 6.7 3938.95 6.8 4352.54 6.9 4809.56 7 5314.56 7.1 5872.59 7.2 6489.21 7.3 7170.58 7.4 7923.49 7.5 8755.46 7.6 9674.78 7.7 10690.6 7.8 11813.2 7.9 13053.5 8 14424.2 8.1 15938.7 8.2 17612.2

数值计算方法上机实验报告

8.3 19461.5 8.4 21505 8.5 23763 8.6 26258.1 8.7 29015.2 8.8 32061.8 8.9 35428.3 9 39148.3 9.1 43258.9 9.2 47801.1 9.3 52820.2 9.4 58366.3 9.5 64494.8 9.6 71266.7 9.7 78749.7 9.8 87018.4 9.9 96155.4 10 106252

六、四阶龙格-库塔法求解常微分方程的初值问题 1.算法原理

四阶龙格-库塔法公式:

yi 1 yi 6(K1 2K2 2K3 K4)K1 f(xi,yi)

K2 f(xi hh

2,yi 2K1)

K3

f(xi hh

,yi K2)

K4 f(xi h,yi hK3) 用f(x,y)在几个不同点的加权平均

值(线性组合)来代替准确的

f(xk h,y(xk h))的值,构造近似公式。

数值计算方法上机实验报告

再把近似公式与解的泰勒展开式进行比较,使前面的若干项相同,从而使近似公式达到一定的阶数。

这样龙格-库塔法保留了泰勒级数展开法的高阶局部截断误差,又避免了高阶导数的计算。 2.程序框图 3.输入输出变量

x0为x的初值,y0为y的初值,h为步长,N为计算次数。 4.具体算例

y'=3*x*x 4*y*y) Y(0)=5 0≤x≤10 h=0.2 N=100 解得 0.2 7.32213 0.4 8.92711 0.6 10.8813 0.8 13.2647 1 16.1744 1.2 19.7282 1.4 24.0696 1.6 29.3736 1.8 35.8537 2 43.7704 2.2 53.4419 2.4 65.2567 2.6 79.6891 2.8 97.3187 3 118.853 3.2 145.157

数值计算方法上机实验报告

3.4 177.285 3.6 216.528 3.8 264.461 4 323.006 4.2 394.515 4.4 481.856 4.6 588.535 4.8 718.834 5 877.981 5.2 1072.36 5.4 1309.78 5.6 1599.77 5.8 1953.95 6 2386.56 6.2 2914.94 6.4 3560.31 6.6 4348.56 6.8 5311.33 7 6487.26 7.2 7923.53 7.4 9677.8 7.6 11820.5 7.8 14437.5 8 17634 8.2 21538.2 8.4 26306.7 8.6 32131 8.8 39244.8 9 47933.6

数值计算方法上机实验报告

9.2 58546.1 9.4 71508.2 9.6 87340.1 9.8 106677 10 130296 10.2 159143 10.4 194377 10.6 237412 10.8 289976 11 354176 11.2 432591 11.4 528366 11.6 645347 11.8 788226 12 962740

12.2 1.17589e+006 12.4 1.43623e+006 12.6 1.75421e+006 12.8 2.1426e+006 13 2.61697e+006 13.2 3.19636e+006 13.4 3.90404e+006 13.6 4.76839e+006 13.8 5.82412e+006 14 7.11358e+006 14.2 8.68852e+006 14.4 1.06122e+007 14.6 1.29617e+007 14.8 1.58314e+007

数值计算方法上机实验报告

15 1.93365e+007 15.2 2.36176e+007 15.4 2.88465e+007 15.6 3.52331e+007 15.8 4.30338e+007 16 5.25614e+007 16.2 6.41985e+007 16.4 7.84121e+007 16.6 9.57725e+007 16.8 1.16977e+008 17 1.42875e+008 17.2 1.74508e+008 17.4 2.13144e+008 17.6 2.60334e+008 17.8 3.17972e+008 18 3.88371e+008 18.2 4.74356e+008 18.4 5.79378e+008 18.6 7.07652e+008 18.8 8.64327e+008 19 1.05569e+009 19.2 1.28942e+009 19.4 1.5749e+009 19.6 1.92358e+009 19.8 2.34946e+009 20 2.86963e+009

数值计算方法上机实验报告

心得体会:

在编写程序时我的最大体会就是,一定要细心。几乎在每一个程序的调试过

程中都会出现问题,而这些问题的存在都是因为一个小小的错误。

通过连续数周的上机编程,让我更加熟练地掌握了数值计算方法原理,也让

我对这学期所学的数值计算方法原理有了更深刻的认识。虽然编程的过程中遇到很多问题,例如迭代的次数以及循环的实现问题,但是通过查阅资料,和同学探讨,最终解决了这些困难并提高了编程能力,同时让我对程序流程图也有了更进一步的理解。通过自己编写程序,增强了我的读图能力,也为后续的编程课程打下基础。

总之,学习数值这门课程使我收获很大,同时也要感谢老师的辛勤付出。

数值计算方法上机实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)