数值计算方法大作业

合集下载

数值分析大作业

数值分析大作业

数值分析上机作业(一)

一、算法的设计方案

1、幂法求解λ1、λ501

幂法主要用于计算矩阵的按模最大的特征值和相应的特征向量,即对于

|λ1|≥|λ2|≥.....≥|λn|可以采用幂法直接求出λ1,但在本题中λ1≤λ2≤……≤λ501,我们无法判断按模最大的特征值。但是由矩阵A的特征值条件可知|λ1|和|λ501|之间必然有一个是最大的,通过对矩阵A使用幂法迭代一定次数后得到满足精度ε=10−12的特征值λ0,然后在对矩阵A做如下的平移:

B=A-λ0I

由线性代数(A-PI)x=(λ-p)x可得矩阵B的特征值为:λ1-λ0、λ2-λ0…….λ501-λ0。对B矩阵采用幂法求出B矩阵按模最大的特征值为λ∗=λ501-λ0,所以λ501=λ∗+λ0,比较λ0与λ501的大小,若λ0>λ501则λ1=λ501,λ501=λ0;若λ0

求矩阵M按模最大的特征值λ的具体算法如下:

任取非零向量u0∈R n

ηk−1=u T(k−1)∗u k−1

y k−1=u k−1η

k−1

u k=Ay k−1

βk=y T

k−1u k

(k=1,2,3……)

当|βk−βk−1|

|βk|

≤ε=10−12时,迭终终止,并且令λ1=βk

2、反幂法计算λs和λik

由已知条件可知λs是矩阵A 按模最小的特征值,可以应用反幂法直接求解出λs。

使用带偏移量的反幂法求解λik,其中偏移量为μk=λ1+kλ501−λ1

40

(k=1,2,3…39),构造矩阵C=A-μk I,矩阵C的特征值为λik−μk,对矩阵C使用反幂法求得按模

最小特征值λ0,则有λik=1

(完整版)数值计算方法试题及答案

(完整版)数值计算方法试题及答案

数值计算方法试题一

一、 填空题(每空1分,共17分)

1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。

2、迭代格式)2(2

1-+=+k k k x x x α局部收敛的充分条件是α取值在( )。

3、已知⎪⎩⎪⎨⎧≤≤+-+-+-≤≤=31)1()1()1(21

1

0)(233x c x b x a x x x x S 是三次样条函数,

a =( ),

b =( ),

c =( )。

4、)(,),(),(10x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则

∑==

n

k k

x l

0)(( ),

∑==

n

k k j

k x l

x 0

)(( ),当2≥n 时

=

++∑=)()3(20

4x l x x

k k n k k

( )。

5、设1326)(2

47+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f 和=∆07

f

6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。

7、{}∞

=0)(k k

x ϕ是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ϕ,则⎰=

1

4)(dx x x ϕ 。

8、给定方程组⎩⎨

⎧=+-=-2211

21b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。

9、解初值问题

00

(,)()y f x y y x y '=⎧⎨

化工数值计算与MATLAB课程设计

化工数值计算与MATLAB课程设计

化工数值计算与MATLAB课程设计

一、课程背景

作为化学工程专业的一门课程,化工数值计算与MATLAB课程设计是一门综合性较强的课程,旨在让学生掌握化工工程中常见的数值计算方法以及MATLAB编程技能,为学生日后从事化工工程工作提供有力的帮助。

二、教学内容

本门课程的主要内容包括以下三个方面:

1. 常见的数值计算方法

这一部分主要介绍化工工程中常用的数值计算方法,包括插值、数值积分、微分方程求解、最小二乘法等。学生需要掌握这些方法的理论知识和具体应用,能够熟练地运用这些方法解决化工过程中遇到的实际问题。

2. MATLAB编程技能的掌握

作为一种强大的计算工具,MATLAB在化工工程中有着广泛的应用。这一部分主要介绍MATLAB编程语言的基础知识以及一些常见的编程技巧,包括变量、循环、函数、图形输出等。学生需要通过实践掌握MATLAB编程技能,能够利用MATLAB对化工问题进行编程求解。

3. 化工数值计算与MATLAB综合设计

这一部分是本门课程的重点,主要通过一个小型的化工流程仿真设计项目来综合运用前两部分的知识,设计的具体内容需要由教师根据学生实际情况进行调整。通过这一部分的课程设计,学生能够加深对化工数值计算理论和MATLAB编程技能的理解,提高化工工程问题的解决能力。

三、教学方法

本门课程采用理论授课与实践相结合的教学方式。在理论授课环节,教师主要介绍化工数值计算的理论知识,说明相应的代码实现过程,并举一些实际例子来讲解。在实践环节,学生需要利用所学知识实现对化工过程的仿真设计。在实践过程中,教师会提供必要的指导,学生需要通过实践来掌握相应的技能和知识。

《大学数学B》大作业A

《大学数学B》大作业A

《大学数学B》大作业A

大学数学B 大作业A

1. 背景介绍

本次大作业旨在巩固和应用大学数学B相关的知识,提升同学们的数学分析和解决问题的能力。通过解决实际问题,将理论知识与实践相结合。

2. 问题描述

我们将研究一个关于曲线的问题。给定一个平面点集P,其中的每个点都在曲线y = f(x)上。

我们的任务是通过给定的点集P,确定曲线的方程f(x)。

3. 解题思路

为了确定曲线的方程f(x),我们需要使用大学数学B中研究到

的知识和技巧。

首先,我们可以使用最小二乘法来逼近曲线的方程。最小二乘

法是一种通过拟合数据点,找到最接近实际数据的曲线的方法。

其次,我们需要熟悉常见的曲线类型和它们的方程形式。例如,直线、抛物线等。

最后,我们还可以考虑使用数值计算方法,通过计算点集P中

的梯度、导数或积分,来逼近曲线的方程。

4. 解题步骤

以下是解决问题的步骤:

第一步:导入所需的库和工具,包括数值计算和绘图工具。:导入所需的库和工具,包括数值计算和绘图工具。

第二步:读取点集P中的数据,并进行必要的数据处理和清洗。:读取点集P中的数据,并进行必要的数据处理和清洗。

第三步:使用最小二乘法确定曲线的方程。可以尝试使用不同的拟合函数,比较它们的拟合效果,选择最适合的函数。:使用最小二乘法确定曲线的方程。可以尝试使用不同的拟合函数,比较它们的拟合效果,选择最适合的函数。

第四步:根据曲线类型,确定拟合函数的具体形式。例如,如果曲线是直线,则拟合函数可以写为 y = ax + b;如果曲线是抛物线,则拟合函数可以写为 y = ax^2 + bx + c。:根据曲线类型,确定拟合函数的具体形式。例如,如果曲线是直线,则拟合函数可以写为 y = ax + b;如果曲线是抛物线,则拟合函数可以写为 y = ax^2 + bx + c。

数值计算方法思考题和习题

数值计算方法思考题和习题

(4) 北京理工大学函大2004-2005学年第1学期

计算机科学与技术专业专升本

数值计算方法思考题和习题

教科书:《科学与工程计算》廖晓钟赖汝编国防工业出版社 2003年版第1 章思考题p26 1,2,3,4,5

第1 章习题pp26-27 1,3,4,5,6,11

第2 章思考题p66 1,3,6,7,8,9,12.13

第2 章习题pp67-68 2,3,4,5,7,11,12,13,14,17,18

第3 章思考题p119 1,3,4,5,6,10,18,19

第3 章习题pp119-121 1,2,3,4,5,12,13

第4 章思考题p144 1,2,3,4,5,7,8

第4 章习题pp144-146 1,2,3,4,5,6,7,10,11,12,13

第5 章思考题p207 1,2,3,4,5,6,7,9,10,11,12.13

第5 章习题pp208-209 1,2,3,4,5,6,7,8,9,10,11,12,13,15

第6 章思考题p257 1,2,3,4,5,6,7,8,10,11,12.14

第6 章习题pp257-259 1,2,3,4,5,6,7,8,11,12,13,15,16,17,18

第7 章思考题p292 1,2,3,4,5,6,8,9

第7 章习题pp293-295 1,2,3,4,5,6,7,8,11,12,20

作业题

第1 章习题pp26-27 1(1),(2),3(3),5,6

第2 章习题pp67-68 2,4,5,11,13,17

第3 章习题pp119-121 1(1),2(1),5(2),12

BUAA数值分析大作业三

BUAA数值分析大作业三

北京航空航天大学2020届研究生

《数值分析》实验作业

第九题

院系:xx学院

学号:

姓名:

2020年11月

Q9:方程组A.4

一、 算法设计方案

(一)总体思路

1.题目要求∑∑===

k i k

j s r rs

y x c

y x p 00

),(对f(x, y) 进行拟合,可选用乘积型最小二乘拟合。

),(i i y x 与),(i i y x f 的数表由方程组与表A-1得到。

2.),(*

*

j i y x f 与1使用相同方法求得,),(*

*

j i y x p 由计算得出的p(x,y)直接带入),(*

*

j i y x 求得。

1. ),(i i y x 与),(i i y x f 的数表的获得

对区域D ={ (x,y)|1≤x ≤1.24,1.0≤y ≤1.16}上的f (x , y )值可通过xi=1+0.008i ,yj=1+0.008j ,得到),(i i y x 共31×21组。将每组带入A4方程组,即可获得五个二元函数组,通过简单牛顿迭代法求解这五个二元数组可获得z1~z5有关x,y 的表达式。再将

),(i i y x 分别带入z1~z5表达式即可获得f(x,y)值。

2.乘积型最小二乘曲面拟合

2.1使用乘积型最小二乘拟合,根据k 值不用,有基函数矩阵如下:

⎪⎪⎪⎭⎫ ⎝⎛=k i i k x x x x B 0000 , ⎪⎪⎪⎭⎫ ⎝⎛=k j j

k y y y y G 0000

数表矩阵如下:

⎪⎪⎪⎭

⎛=),(),(),(),(0000j i i j y x f y x f y x f y x f U

数值计算方法大作业

数值计算方法大作业

题目利用数值计算方法求取基尼系数

姓名与学号

指导教师

年级与专业

所在学院

一、问题综述:

基尼系数(Gini coefficient),是20世纪初意大利学者科拉多·吉尼根据劳伦茨曲线所定义的判断收入分配公平程度的指标。是比例数值,在0和1之间。基尼指数(Gini index)是指基尼系数乘100倍作百分比表示。在民众收入中,如基尼系数最大为“1”,最小等于“0”。前者表示居民之间的收入分配绝对不平均(即所有收入都集中在一个人手里,其余的国民没有收入),而后者则表示居民之间的收入分配绝对平均,即人与人之间收入绝对平等,但这两种情况只出现在理论上;因此,基尼系数的实际数值只能介于0~1之间,基尼系数越小收入分配越平均,基尼系数越大收入分配越不平均。

设右图中的

实际收入分配曲线

(红线)和收入分

配绝对平等线(绿

线)之间的面积为

A,和收入分配绝

对不平等线(蓝

线)之间的面积为

B,则表示收入与

人口之间的比例的基尼系数为

A

A+B

如果A为零,即基尼系数为0,表示收入分配完全平等(红线和绿线重叠);如果B为零,则系数为1,收入分配绝对不平等(红线和蓝线重叠)。该系数可在0和1之间取任何值。实际上,一般国家的收入分配,既不是完全平等,也不是完全不平等,而是在两者之间,劳伦茨曲线为一条凸向横轴的曲线。收入分配越趋向平等,劳伦茨曲线的弧度越小(斜度越倾向45度),基尼系数也越小;反之,收入分配越趋向不平等,劳伦茨曲线的弧度越大,那么基尼系数也越大。

基尼系数的调节需要国家通过财政政策进行国民收入的二次分配,例如对民众的财政公共服务支出和税收等,从而让收入均等化,令基尼系数缩小。

计算方法作业集及答案

计算方法作业集及答案

计算方法作业集及答案

第一章数值计算基本常识

一.填空题

1.用四舍五入得到的近似数0.628,有_____位有效数字,其绝对误差限是____________。

2.用四舍五入得到的近似数0.586,有_____位有效数字,其绝对误差限是____________。

3.用四舍五入得到的近似数0.69,其绝对误差是__________,由此计算出的相对误差限是__________。

4.用四舍五入得到的近似数0.7960,其绝对误差是__________,由此计算出的相对误差限是__________。

5.设0.484是0.4900的近似值,那么0.484具有____位有效数字。

6.设某某=0.231是真值某=0.229的近似值,则某某有_____位有效数字。

7.设某某=0.23是真值某=0.229的近似值,则某某有_____位有效数字。

8.设某=2.3149541,取5位有效数字,则所得的近似值某某=_____。

9.设某=2.3149541,取4位有效数字,则所得的近似值某某=_____。

10.若近似数0.1100有4位有效数字,由有效数字计算出的相对误差是____________。

11.若近似数76.82有4位有效数字,由有效数字计算出的相对误差是____________。

12.若近似数576.00有5位有效数字,由有效数字计算出的相对误差是____________。

13.用3.15作为π的近似值有_____位有效数字。

14.用3.14作为π的近似值有_____位有效数字。

15.用3.1416作为π的近似值有_____位有效数字。

数值计算方法大作业--资料

数值计算方法大作业--资料

数值计算方法大作业-

-资料

-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

计算方法大作业

学生学号: ********

学生姓名: ****

专业班级: ***********

摘要:大作业通过MATLAB在计算方法中的应用实例,探讨了MATLAB在计算方法中的应用方法和技巧,对运用计算机软件完成“计算方法”课程的图形绘制,多项式方程的求解,计算方法分析具有较好的参考价值。

关键字:MATLAB应用迭代法多项式

引言

在科学研究与工程设计中,经常会遇到数学模型的求解问题,然而在许多情况下,要获得模型问题的准确解是十分困难的,甚至是不可能的。因此,研究各种数学问题的近似解法非常重要。

数值计算方法又称计算方法或数值计算分析,是一门与计算机应用密切结合的实用性很强的数学课程。

数值计算方法提供的算法具有以下特点:

1.面向计算机,根据计算机的特点设计可行的算法。

2.有可靠的理论依据。

3.高效率。

数值计算方法既重视与方法有关的理论,又重视方法的实际运用,而且数值计算方法课程涉及的面较广泛,包括了微积分、线性代数、常微积分方程等数学问题的数值方法。所以我们只有努力的掌握这几门课程的基本内容,才能学好这门课程。

掌握数值计算方法,包括数组和数组函数,矩阵和矩阵函数的创建与操作,关系与逻辑操作符的运算,多项式计算,数据分析,以及方程与方程组的解法。掌握Matla图形和3D可视化的技术,围绕数据成图机理,绘图要旨和修饰技法熟悉各种绘图指令和交互操作工具。包括二维,三维和高维图形绘制,图形的色彩,光源和材质等效果的处理,以及图形句柄操作和动画制作技术。

数值计算方法

数值计算方法

数值计算方法

1. 加法:将两个数值相加得到结果。

2. 减法:将一个数值减去另一个数值得到结果。

3. 乘法:将两个数值相乘得到结果。

4. 除法:将一个数值除以另一个数值得到结果。

5. 平均值:将一组数值相加然后除以数值的个数得到平均值。

6. 绝对值:一个数值的绝对值是该数值到零点的距离,忽略其正负号。

数值计算方法第1章作业

数值计算方法第1章作业

第一章作业

第一题

问题叙述:构造算法并编程序精确计算二次方程的根。

●设a≠0,b2-4ac>0,且有方程ax2+bx+c=0

●包括b2≈b2-4ac的情况(a=c=1,b=±1000000.000001)

问题分析:

对于普通的二次求根公式:

x1,2=−b±√b2−4ac

2a

当b2>>4ac时,分子可能非常小。由于计算机中的算术运算存在减性抵消的现象,即两个几乎相等的浮点数相减时会引起舍入误差,所以在这种极端条件下用这个公式就会带来很大的误差。

解决方法:

1.使用双精度

2.使用变换公式

x1,2=

−2c

b±√b2−4ac

3.先利用原公式计算较大的根(即分子不会引起减性抵消),再利用公式:

x1x2=c a

计算较小的根。

问题解决:

1.使用双精度:

%This program uses double precision to solve the equation of two degree

%And make a comparision to the single precision

clear;clc;

[a,b,c]=textread('data.txt','%n%n%n'); %read the numbers from data.txt

delta=b*b-4*a*c;

x1=(-b+sqrt(delta))/(2*a);

x2=(-b-sqrt(delta))/(2*a); %double precision

a=single(a);b=single(b);c=single(c);%use single precision

计算方法大作业——三次样条插值

计算方法大作业——三次样条插值
M 2 d 2 n 1 M n 1 d n 1 2 M n d n
wk.baidu.com
(8)
1
2
1 M 1 d1
(9)
2 n 1
2
n
其中:hi xi xi 1 ,i
N10 x
22757 10 5444 8 20216 6 17147 4 3725 2 x x x x x 1 103 11 53 139 221
将牛顿插值多项式 N5(x)和 N10(x)及三次样条插值函数 S10(x)分别与 f(x)的曲线画在 同一个坐标系上进行比较,如图 12。可以看出三次样条函数与原函数符合的非常好, 对于低次的牛顿插值多项式,与原函数的大致趋势相同,而高次的牛顿插值多项式由 于龙格现象的出现,与原函数之间相差比较大。
1 x 0.8 0.8 x 0.6 0.6 x 0.4 0.4 x 0.2 0.2 x 0 0 x 0.2 0.2 x 0.4 0.4 x 0.6 0.6 x 0.8 0.8 x 1
(10)
10
计算方法上机报告
S x
x x i
6hi
3
M i 1
x xi 1
6hi
3
x x hi2 M i yi 1 M i 1 i 6 hi

龙贝格-求积分

龙贝格-求积分

数值计算方法大作业

注:由朱福利邹素云共同完成

龙贝格求积公式

【简介】

龙贝格求积公式也称为逐次分半加速法。它是在梯形公式、辛卜生公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。作为一种外推算法, 它在不增加计算量的前提下提高了误差的精度.

在等距基点的情况下,用计算机计算积分值通常都采用把区间逐次分半的方法进行。这样,前一次分割得到的函数值在分半以后仍可被利用,且易于编程。

【算法】

对区间[a, b],令h=b-a构造梯形值序列{T2K}。

T1=h[f(a)+f(b)]/2

把区间二等分,每个小区间长度为 h/2=(b-a)/2,于是

T2 =T1/2+[h/2]f(a+h/2)

把区间四(2)等分,每个小区间长度为h/2 =(b-a)/4,于是

T4 =T2/2+[h/2][f(a+h/4)+f(a+3h/4).....................

把[a,b] 2等分,分点xi=a+(b-a)/ 2 ·i (i =0,1,2 · · · 2k)每个小区间长度为(b-a)/ 2 .

例:

I = ∫0(4/1+X) dx

解按上述五步计算,此处 f(x)=4/(1+x) a=0 b=1 f(0)=4 f(1)=2

由梯形公式得

T1=1/2[f(0)+f(1)]=3

计算f(1/2)=16/5 用变步长梯形公式得

T2=1/2[T1+f(1/2)]=3.1

由加速公式得

S1=1/3(4T2-T1)=3.133333333

求出f(1/4) f(3/4) 进而求得

T4=1/2{T2+1/2[f(1/4)+f(3/4)]}

数值计算方法丁丽娟课后习题答案

数值计算方法丁丽娟课后习题答案

数值计算方法丁丽娟课后习题答案

【篇一:北京理工大学数值计算方法大作业数值实验1】

)书p14/4

分别将区间[?10,10]分为100,200,400等份,利用mesh或surf命

令画出二元函数的三维图形。

z=|??|+ ??+?? +??

++??【matlab求解】

[x,y]=meshgrid(-10:0.1:10);

a=exp(-abs(x));

b=cos(x+y);

c=1./(x.^2+y.^2+1);

z=a+b+c;

mesh(x,y,z);

[x,y]=meshgrid(-10:0.05:10);

a=exp(-abs(x));

b=cos(x+y);

c=1./(x.^2+y.^2+1);

z=a+b+c;

mesh(x,y,z);

[x,y]=meshgrid(-10:0.025:10); a=exp(-abs(x));

b=cos(x+y);

c=1./(x.^2+y.^2+1);

z=a+b+c;

mesh(x,y,z);

(二)书p7/1.3.2数值计算的稳定性(i)

取= ??c语言程序—不稳定解 +=ln1.2,按公

式=?? (n=1,2,…) #includestdio.h

#includeconio.h

#includemath.h

void main()

{

float m=log(6.0)-log(5.0),n;

int i;

i=1;

printf(y[0]=%-20f,m); while(i20)

{

n=1/i-5*m;

printf(y[%d]=%-20f,i,n);m=n;

i++;

if (i%3==0) printf(\n); }

数值计算方法》习题答案

数值计算方法》习题答案

《数值计算方法》

课后题答案详解

吉 林 大 学

第一章 习 题 答 案

1. 已知(1)2,(1)1,(2)1f f f −===,求()f x 的Lagrange 插值多项式。

解:由题意知:

()0120121200102021101201220212

1,1,2;2,1,1()()(1)(2)

()()6()()(1)(2)

()()2()()(1)(1)

()()3

(1)(2)(1)(2)()2162

n

j j j x x x y y y x x x x x x l x x x x x x x x x x l x x x x x x x x x x l x x x x x x x x L x y l x ==−=====−−−−==

−−−−+−==

−−−−−+−=

=

−−−−+−==×+×−∴∑()2

(1)(1)1

31386

x x x x +−+×=

−+

2. 取节点0121

0,1,,2

x x x ===对x y e −=建立Lagrange 型二次插值函数,并估计差。

解1

1

2

012012

10,1,;1,,2

x x x y y e y e −−======1)由题意知:则根据二次Lagrange插值公式得:

020112012

01021012202110.5

10.520.51()()()()()()

()()()()()()()

2(1)(0.5)2(0.5)4(1)(224)(43)1

x x x x x x x x x x x x L x y y y x x x x x x x x x x x x x x x x e x x e e e x e e x −−

插值法及程序

插值法及程序

插值法及程序

数值计算⽅法第2章⼤作业

题⽬:插值逼近

姓名:冯婷婷

学号:104753140674

专业:运筹学与控制论

插值逼近

⼀、插值问题

设()y f x =是区间[,]a b 上的⼀个实函数,(0,1,,)i x i n =是[,]a b 上1n +个互异实数,已

知()y f x =在i x 的值()(0,1,

,)i i y f x i n ==, 求⼀个次数不超过n 的多项式()n P x 使其满⾜

()(0,1,

,)n i i P x y i n ==这就是多项式插值问题。

其中()n P x 称为()f x 的n 次插值多项式, ()f x 称为被插函数, (0,1,,)i x i n =称为插

值节点, (,)(0,1,,)i i x y i n =称为插值点,[,]a b 称为插值区间, 式()(0,1,

,)n i i P x y i n ==称

为插值条件。

从⼏何意义来看,上述问题就是要求⼀条多项式曲线()n y P x =, 使它通过已知的1n +个点(,)(0,1, ,)i i x y i n =,并⽤()n P x 近似表⽰()f x

.

即2012()n n P x a a x a x a x =+++其中i a 为实数,就称()P x 为插值多项式,相应的插值法称为多项式插值。

⼆、拉格朗⽇插值法

在求满⾜插值条件n 次插值多项式)(x P n 之前,先考虑⼀个简单的插值问题:对节点

(0,1,

,)i x i n =中任⼀点)0(n k x k ≤≤,作⼀n 次多项式)(x l k ,使它在该点上取值为1,⽽

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

目录

第一章非线性方程求根 (3)

1.1迭代法 (3)

1.2牛顿法 (4)

1.3弦截法 (5)

1.4二分法 (6)

第二章插值 (7)

2.1线性插值 (7)

2.2二次插值 (8)

2.3拉格朗日插值 (9)

2.4分段线性插值 (10)

2.5分段二次插值 (11)

第三章数值积分 (13)

3.1复化矩形积分法 (13)

3.2复化梯形积分法 (14)

3.3辛普森积分法 (15)

3.4变步长梯形积分法 (16)

第四章线性方程组数值法 (17)

4.1约当消去法 (17)

4.2高斯消去法 (18)

4.3三角分解法 (20)

4.4雅可比迭代法 (21)

4.5高斯—赛德尔迭代法 (23)

第五章常积分方程数值法 (25)

5.1显示欧拉公式法 (25)

5.2欧拉公式预测校正法 (26)

5.3改进欧拉公式法 (27)

5.4四阶龙格—库塔法 (28)

数值计算方法

第一章非线性方程求根

1.1迭代法

程序代码:

Private Sub Command1_Click()

x0 = Val(InputBox("请输入初始值x0"))

ep = Val(InputBox(请输入误差限ep))

f = 0

While f = 0

X1 = (Exp(2 * x0) - x0) / 5

If Abs(X1 - x0) < ep Then

Print X1

f = 1

Else

x0 = X1

End If

Wend

End Sub

例:求f(x)=e2x-6x=0在x=0.5附近的根(ep=10-10)

1.2牛顿法

程序代码:

Private Sub Command1_Click()

b = Val(InputBox("请输入被开方数x0"))

ep = Val(InputBox(请输入误差限ep))

f = 0

While f = 0

X1 = x0 - (x0 ^ 2 - b) / (2 * b)

If Abs(X1 - x0) < ep Then

Print X1

f = 1

Else

x0 = X1

End If

Wend

End Sub

例:求56的值。(ep=10-10)

1.3弦截法

程序代码:

Private Sub Command1_Click()

x0 = Val(InputBox("请输入第一个初始值x0"))

X1 = Val(InputBox("请输入第二个初始值x1"))

ep = Val(InputBox("请输入误差限ep"))

f = 0

While f = 0

X2 = X1 - (X1 ^ 8 - 13) * (X1 - x0) / ((X1 ^ 8 - 13) - (x0 ^ 8 - 13))

If Abs(X2 - X1) < ep Then

Print X2

f = 1

Else

x0 = X1

X1 = X2

End If

Wend

End Sub

例:求f(x)=x8-13的正根(初始值x1=1,x2=10,ep=10-10)

1.4二分法

程序代码:

Private Sub Command1_Click()

a = Val(InputBox("请输入区间端点a"))

b = Val(InputBox("请输入区间端点b"))

ep = Val(InputBox("请输入误差限ep"))

f = 0

While f = 0

x = (a + b) / 2

fx = Exp(-x / 7) * (9 - 2 * x) - 8

fa = Exp(-a / 7) * (9 - 2 * a) - 8

If fx = 0 Then

f = 1

Print "方程的根是", x

Else

If fa * fx > 0 Then

a = x

Else

b = x

End If

If Abs(b - a) < ep Then

x = (b + a) / 2

f = 1

Print "方程的根是", x

End If

End If

Wend

End Sub

例:求方程f(x)=e-7/x(9-2x)-8在区间[0,1]内的实根。(ep=10-10)

第二章插值

2.1线性插值

程序代码:

Private Sub Command1_Click()

X0 = Val(InputBox("请输入第一个结点X:"))

Y0 = Val(InputBox("请输入第一个结点Y:"))

X1 = Val(InputBox("请输入第二个结点X:"))

Y1 = Val(InputBox("请输入第二个结点Y:"))

f = 0

While f = 0

x = Val(InputBox("请输入未知点的自变量值X:"))

L0 = (x - X1) / (X0 - X1)

L1 = (x - X0) / (X1 - X0)

y = L0 * Y0 + L1 * Y1

Print "x="; x, "y="; y

f = Val(InputBox("是否继续(0/1):"))

Wend

End Sub

例:已知两点(13 , 1)、(49 , 8),求30处的值。

相关文档
最新文档