数学实验综合实验报告
温柔似野鬼°
621次浏览
2021年01月30日 01:01
最佳经验
本文由作者推荐
环保知识-画一幅画
西北师范大学数学与信息科学学院数学实验报告
一、实验目的:
1
、初步认识迭代,体会迭代思想的重要性。
2
、通过在
mathematica
环境下编写程序,利用迭代的方法求解方程的根、线性
方程组的解、非 线性方程组的解。
3
、了解分形的的基本特性及利用
mathematic a
编程生成分形图形的基本方法,
在欣赏由
mathematica
生成的美丽的分形图案的同时对分形几何这门学科有一个
直观的了解。
从哲理的高度理解这门 学科诞生的必然性,
激发读者探寻科学真理
的兴趣。
4
、从一个简 单的二次函数的迭代出发,利用
mathematica
认识混沌现象及其所
蕴涵的规律。
5
、
.
进一步熟悉
Mathema tic
软件的使用,复习总结
Mathem
atic
在数学作图中的
应用,
为便于研究数学图像问题提供方便,
使我们从一个新的视角去理解数学问
题以及 问题的实际意义。
6
、在学习和运用迭代法求解过程中,体会各种迭代方法在解决问 题的收敛速度
上的异同点。
二、
实验的环境:
学校机房,
mathematica4
环境
三、实验的基本理论和方法:
1
、迭代(一)—方程求解
函数的迭代法思想:
给定实数域上光滑的实值函数
f
(
x
)
以及初值
x
0
定义数列
(1)
x
n
1
f
(
x
n< br>)
,
n
0
,
1
,
2
,< br>3
,
,
x
n
,
n
0< br>,
1
,
2
,
3
,
,称为
f
(
x
)
的一个迭代序列。
(
1
)方程求根
给定迭代函数
f
(
x< br>)
以及初值
x
0
利用(
1
)迭代得到数列
x
n
,
n
0
,
1
,
2
,
3
,
.
如果数列收敛到某个
x
*
,则有
x
*
f
(
x
*
)
. (2)
第
1
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
即
x
*
是方程
x
f
(
x
)
的解。由 此启发我们用如下的方法求方程
g
(
x
)
0
的近 似
解。
将方程
g
(
x
)
0< br>改写为等价的方程
x
f
(
x
)
,
(3)
然后选取一初值利用(
1
)做迭代。迭代数列
x
n
收敛的极限就是方程
g
(
x
)
0
的
解。
为了使得迭代序列收敛并尽快收敛到方程
g
(
x
)
0
的某一解的条件是迭代
函数
f
(
x
)
在解的附近的导数将的绝对值尽量小,因此迭代方程修订成
x
h
(
x
)
f
(
x
)
(
1
)
x
(4)
选取
使得
|
h
(
x
)
|
在解的附近尽量小
.
为此
,
我们可以令
h
(
x
)
f
(
x
)
1
0
,
得
于是
1
.
1
f
(
x
)
h
(
x
)
x
f
(
x
)
x
. < br>
f
(
x
)
1
特别地
,
如果取
f
(
x
)
g
(
x
)
x
,
则可得到迭代公式
x
n
1
x
n
g
(
x
n
)
,
n
0
,
1
,
.
(5)
g
(
x
n
)
(
2
)线性方程组的数值解的迭代求 解理论与矩阵理论
给定一个
n
元线性方程组
a
11
x
1
a
1
n
x
n
b
1
,
(6)
a
x
a
x
b
,
nn
nn
1
n
1
或写成矩阵的形式
第
2
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
Ax
b
,
(7)
其中
A
(
a
ij
)
是
n
阶方阵
,
x
(
x
1
,
x2
,
x
n
)
T
及
b
(
b
1
,
b
2
,
,
bn
)
T
均为
n
维列向量
.
熟知,当矩阵A
的行列式非零时,以上的方程组有唯一解
.
如何有效,快速
地寻求大型 的线性方程组的数值解释科学工程计算中非常重要的任务
.
而迭代法
常常是求解这些问 题的有效方法之一。
用迭代法求解线性方程组的思想与上一小节介绍的方程求根的方法是类似
的。将方程组
(7)
改写成
x
Mx
f
,
(8)
其中
M
(
m
ij
)
是
n
阶矩阵
,
f
(
f
1
,
,
f
n
)
T
是
n
维列向量
.
任意给定初试向量
x
0
,
由迭代
x
n
1
Mx
n
f
(9)
确定向量序列
x
n
,
n
0
,< br>1
,
.
如果
x
n
收敛到向量
x
*
,
则有
x
*
Mx
*
f
,
则
x
*
为方程组
(7)
的解
.
假设矩阵
A
的对角元素
a
ij
0,
i
1
,2,
可以将方程(
7
)改写成
Dx
(
D
A
)
x
b
或
x
(
I
D
1
A
)
x
D
1
b
(
10
)
由上式即可确定一种迭代格式。
如果即将矩阵
(
I
D
1
A
)
分解为
U
L
, 其中
L
,
U
分别为下三角阵与上三
角阵,则(
10
)可以进一步改成
(
I
L
)
x
Ux
D
1
b
或
1
1
x
(
I
L
)
U
x
(
I
)
L
1
n
。 令
D
diag
(
a
11
,
,
a
nn
)
,则我们
b
(
11
)
D
第
3
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
上式又可确定另一种迭代格式。
(
3
)非线性方程组的迭代求解理论
类似于单变量的方程组及线性 方程组的求解,
用迭代方法可以求更加复杂的
非线性方程组的解,
给定非线性方程组
f
1
(
x
1
,
,
x
n
)
0,
f
(
x
,
,
x
)
0.
n
n
1
,
(12)
将它改写为等价的方程组
x
1
g
1
(
x
1
,
,
x
n
),
,
x
g
(
x
,
,
x
).
n
1
n
n
或
x
g
(
x
)
(13)
其中,
x
为
n
维列向量
x
(
x
1
,...,
x
n
)
,
g
< br>(
g
1
(
x
),
g
n
(
x
))
T
为
n
维列向量函
数,由上式即确定了一种迭代格式
x
n
1
g
(
x
n
) ,
n
0,1
.
由于非线性方程组可能有许多解(甚至有 无穷多个解)
,因此对它的求借比
线性方程组的求解要面临更多的挑战。
2
、迭代(二)—分形
分形几何—描述自然界的几何形态, 把自然形态看作是具有无限嵌套层次的
精细结构,
并且在不同尺度下保持某种相似的属性,于是在简单的迭代过程中就
可以得到描述复杂的自然形态的有效方法。
(
1
)
生成元
早在
19
世纪 末及
20
世纪初,
一些数学家就构造出一些边界形状极不光滑的
图形。这类图 形的构造方式都有一个共同的特点
,
即最终图形
F
都是按照一定的
规 则
R
通过对初始图形
F
0
不断修订得到的
.
其中最有代表性的图形是
Koch
曲
线
,
它的构造方式是 给定一条直线段
F
0
,
将它分为三等分
,
并将中间的一段用 以
T
第
4
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
该线段为边的 等边三角形的另外两条边代替
,
得到图形
F
1
.
然后
,
再对图形
F
1
中的每一小段都按上述方法修改
,
以至无穷
.
则最后得到的极限曲线
F
lim
F
k
,
k
即所谓的
Koch
曲线
.
Koch
曲线的修改规则
R
是将每一条直线段
F< br>0
用一条折线
F
1
代替
,
我们称
F
1
为该分形的生成元
.
分形的基本特性完全由生成元决定
.
因此
,
给定一个生
成元
,
我们就可以生成各种各样的分形图形。
(
2
)
复变函数迭代理论
给定初始复数
Z
0
,考虑如下迭代:
Z
k
1
Z
k
2
,
k
0,1
,2,
其中
Z
k
,
k
(1)< br>
0,1,2,
为复数,
为(复)常数。
对于给定的初始点
Z
0
,迭代序列有可能有界,也可能发散到无穷。令是使
得迭代序列有界的所有初值
Z
0
构成的集合,即
J
< br>={
Z
0
|
迭代序列
{
Z
k
}
k
0
有界
}
我们称
J
在复平面上构成的集合为
Julia
集。对不同的参数
, Julia< br>集
的形状也会不同。特别的
0
,对应的
Juli a
集为圆盘。
如果固定初值
Z
0
,则对不同的参数
,迭代序列
{
Z
k
}
k
0
的有界性也不相
同。令
M
Z
0
是使得迭代序列
{
Z
k
}
k
0
有界的所有参数构成的集合,即
M
Z
0
={
|
迭代序列
{
Z
k
}
k
0
有界
}
第
5
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
则称
M
Z
0
在复平面上构成的集合为
Mandelbrot
集。
为
了
便
于
在
计
算
机
上
绘
制
出
Julia
集
和
Mandelbrot
集,
我
们
令
Z
k
x
k
iy
k
,
p
iq
,则(
1
)式可改写为
2
2
x
k
1
x
k
y
k
p
k
1,2,
y
k
1
2
x
k
y
k
q
2
2
记
r
k
x
k
y
k
,则
Julia
集为使得序列
{
rk
}
k
0
有界的初始点
(
x
0,
y
0
)
构成
的集合,
Mandelbrot
集为使得序列
{
r
k
}
k
0
有界的参数
(
p
,
q
)
构成的集合。
Julia
集与
Mandelbrot
集会是什么样子?如果没有计算机的帮助,你是很难想象的。
下 面,我们给出这两个集合的计算机作图方法。
Julia
集绘制方法
(
1
)
设定初始值
p
,
q
,
一个最大的迭代次数
N
,
图形的分辨率大小
a
,
b
和
使用的颜色数
K
(如
K
16
)
(或 者给定灰度级
L
)
。
p
2
q
2
)
。
(
2
)设定一个上界值
M
max(2,
(
3
)将矩形 区域
R
:
{(
x
,
y
)
|
M
x
,
y
M
}
分成< br>a
b
的网格,分别以
每个网点
(
f
i,
g
i
)
,
f
i
M
2
M
2
M
i
,
g
i
M
j
,
i
0,1
,
2,
a
b
,
j
0,1,2,
作为初始值
(
x
0
,
y
0
)
利用
riter
做迭代(实际上,只需对满足
2
2
2
2
2
x
0
y
0
M
2
的初始点迭代)。如果对所有
n
N
,
x
n
yn
M
,将图形的
(
i
,
j
)
像素点用黑色显示。
否则,
如果从迭代的某一步
n
0
开始有
x
n
0
y
n
0
M
2
,
则利用第种颜色显示相应像素(或者用相应的灰度级显示)
。
Mandelbrot
集绘制方法
(
1
)
设定一 个最大的迭代次数
N
,
图形的分辨率大小
a
,
b
和 使用的颜色数
K
(如
K
16
)
(或者给定灰度级
L
)
。
(
2
)设定一个上界值
M
2
。
(
3
)将矩形区域
R
:
{(
x
,y
)
|
M
x
,
y
M
}
分成
a
b
的网格,分别以
第
6
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
每个网点
(
fi
,
g
i
)
,
f
i
M
2
M
2
M
i
,
gi
M
j
,
i
0,1
,
2,
a
b
,
j
0,1,2 ,
作为参数值
(
p
,
q
)
利用
riter
做迭代(实际上,只需对满足
p
2
q
2
4
的初始点迭代)
。每次得带的初值均为
(
x
0
,
y
0
)
(0,0)
。如果对所有
2
2
n
N
,
x
n
y
n
M
2
,将图形的
(
i
,
j
)
像素点用黑色 显示。否则,如果从迭代
的某一步
n
0
开始有
x
n
0
y
n
0
M
2
,则利用第种颜色显示 相应像素(或者用相
应的灰度级显示)
。
四、实验的内容和步骤:
练习
1
x
给定初值
x
0
及迭代函数< br>f
(
x
)
mathematica
程序如下:
2
2
x
,迭代
n
次产生相应的数列。
运行结果为:
练习
2
设
f
(
x
)
ax
b
.
利用(
1
)做迭代得到序列
x
n
,
n
0
,
1
,
.
(
1
)写出序列
x
n
的通项公式为:
x
n
a
n
x
0
(
a
n
1
a
n
2
(
2
)在什么条件下,迭代(
1
)对任意的初值x
0
都收敛?
答:据几何级数的收敛性,当
|
a
|
1
时,迭代(
1
)对任意的初值
x
0
都收敛。
(
3
)
影响收敛性的主要量是什么?它与
f
(
x
)
的一阶导数有什么关系?常数
b
第
7
页
共
25
页
a
1
)
b
西北师范大学数学与信息科学学院数学实验报告
对迭代的收敛性有没有影响?收敛速度的快慢由什么量决定?
答:影响收敛性的主要 量是
a,
它即为
f
(
x
)
的一阶导数,常数
b
对迭代的收
敛性没有影响,收敛速度的快慢由
a
和
b
共 同决定。
(
4
)对于任意给定的线性方程
g
(
x
)
Ax
B
0
,你是否可以将它改写 成等
价的形式
x
f
(
x
)
使得迭代总是 收敛?
答:
对于任意给定的线性方程
g
(
x
)< br>
Ax
B
0
,
我们总可以将它改写成等
价的形式
x
f
(
x
)
使得迭代总是收敛 。
练习
3
考察用迭代函数
f
(
x
)< br>
2
sin(
x
)
求解方程
g
(
x
)
2
sin(
x
)
x
0
的解的情况。
(
1
)在同一直角坐标系中,画出
y
f
(
x
)
及
y
x
的 图象。从图上观察,方
程
f
(
x
)
2
sin(
x
)
有几个解?
mathematica
程序如下:
运行结果为:
结果分析:通过观察函数图像可得
f
(
x
)
< br>2
sin(
x
)
有三个解。
(
2
)取初值
x
0
0
.
5
做迭代,迭代序列是否收敛 ?如果收敛,它收敛到哪
一个解?取其他初值,观察迭代的结果。是否可以选取到非零的初值
x
0
,使得
迭代序列收敛到
g
(
x
)
0
的解
x
0
?
第
8
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
①初值
x
0
0
.
5
,迭代
20
次产生的迭代序列
mathematica
程序如下:
运行结果为:
结果分析:通过实验结果我们看到,迭代序列收敛于
1.895
附近。
②取初值
x
0
0.01
,迭代
20
次
运行结果为:
③取初值
x
0
0.0000001
,迭代
20
次
运行结果为:
④取初值
x
0
0.5
,迭代
20
次
运行结果为:
第
9
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
结 果分析:由②③④可得尽管初值
x
0
已经非常小了,但迭代结果却并不收敛于
g
(
x
)
0
的解
x
0
,因此我们得到一个结论,找不到非零的初值使迭代序列
收敛到
0.
再取初值x
0
0
,同样迭代
20
次,结果为:
当初值为
0
时,迭代序列收敛于
0.
(3
)你能否解释(
2
)中观察到的现象?对非线性迭代,迭代序列收敛性与
什么因素有关?你能否给出迭代收敛的一个充分的条件?初始值的选取对迭代
的收敛性及其收敛到哪一 个解有什么影响?
(提示:在一个光滑函数的局部,它可以近似看成一个线性函数。然后,你 可以
利用线性迭代的有关结论。
)
答:通过以上观察到的现象,我们看到, 对非线性迭代,迭代序列收敛性与迭代
函数和初值都有关,取不同的初值会得到不同的收敛结果。
练习
4
利用(
5
)式的迭代方法求解方程< br>x
3
2
x
1
0
的根 ,将它的收敛速度与你
得到的其他的迭代公式相比较,那个更快?
mathematica
程序如下:
第
10
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
①当初值
x
0
0.5
时,迭代
10
次的结果为
运行结果为:
②当初值
x
0
0.2
时,迭代
10
次的结果为
运行结果为:
结果分析:
由上述试验结果我们发现,
使用改进的迭代公式求方程的根,< br>它的收
敛速度比其他的迭代公式要快,而且随着迭代次数的增加,迭代值趋于稳定。
练习
5
0.2
0.3
设
M
,任意取定向量
f
及初始向量
x
0
利用(
9
)做迭代。
0.4
0.2
mathematica
程序如下:
当
f
( 1,1)
、
x
0
(0,0)
时,迭代
20
次的结果为:
运行结果为:
第
11
页
共
25
页
西北师范大学数学与信息科学学院数学实验报告
练习
6
给定
A
3
1
,
b
任意选取。做如下迭代。
3
2
(
1
)用格式(
10
)做迭代。
mathematica
程序如下:
①
取< br>b
(1,1)
、
x
0
(0,0)
得迭代
10
次的结果为:
②取
b
(2,1)
、
x
0
(0,0)
得迭代
10
次的结果为:
第
12
页
共
25
页