哈工大数学实验-迭代问题

合集下载

大学数学实验报告----迭代(一)——方程求解

大学数学实验报告----迭代(一)——方程求解

Do M n , n, 2, 100
运行结果:
M n_Integer : Module y, k , m 2; k m ^ n 1 ;
x Mod k, n ;
Print n, " ", PrimeQ n , " ", x, "
", GCD m, n
Do M n , n, 2, 100
2 True 0 2 3 True 1 1 4 False 0 2 5 True 1 1 6 False 2 2 7 True 1 1 8 False 0 2 9 False 4 1 10 False 2 2 11 True 1 1 12 False 8 2 13 True 1 1 14 False 2 2 15 False 4 1 16 False 0 2 17 True 1 1 18 False 14 2 19 True 1 1 20 False 8 2 21 False 4 1 22 False 2 2 23 True 1 1 24 False 8 2 25 False 16 1 26 False 2 2 27 False 13 1 28 False 8 2 29 True 1 1 30 False 2 2 31 True 1 1 32 False 0 2 33 False 4 1 34 False 2 2 35 False 9 1 36 False 32 2 37 True 1 1 38 False 2 2 39 False 4 1 40 False 8 2
99 False 3 27 100 False 1 67 Null2
m=4 时
输入程序:
M n_Integer : Module y, k , m 4; k m ^ n 1 ; x Mod k, n ; Print n, " ", PrimeQ n , " ", GCD m, n , " ", x Do M n , n, 2, 100

哈工大随机信号实验报告

哈工大随机信号实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y实验报告课程名称:随机信号分析院系:电信学院班级: 1205201 姓名:学号:指导教师:郑薇实验时间: 2014年 11月哈尔滨工业大学实验一 各种分布随机数的产生一、 实验目的在很多系统仿真的过程中,需要产生不同分布的随机变量。

利用计算机可以很方便地产生不同分布的随机变量,各种分布的随机变量的基础是均匀分布的随机变量。

有了均匀分布的随机变量,就可以用函数变换等方法得到其他分布的随机变量。

二、 实验内容产生均匀分布的随机数、高斯分布的随机数和其它分布的随机数。

三、 实验原理1. 均匀分布随机数的产生原理产生伪随机数的一种实用方法是同余法,它利用同余运算递推产生伪随机数序列。

最简单的方法是加同余法)(m od 1M c y y n n +=+My x n n 11++=为了保证产生的伪随机数能在[0,1]内均匀分布,需要M 为正整数,此外常数c 和初值y0亦为正整数。

加同余法虽然简单,但产生的伪随机数效果不好。

另一种同余法为乘同余法,它需要两次乘法才能产生一个[0,1]上均匀分布的随机数)(m od 1M ay y nn =+M y x n n 11++=式中,a 为正整数。

用加法和乘法完成递推运算的称为混合同余法,即)(m od 1M c ay y n n +=+My x n n 11++=用混合同余法产生的伪随机数具有较好的特性,一些程序库中都有成熟的程序供选择。

常用的计算语言如Basic 、C 和Matlab 都有产生均匀分布随机数的函数可以调用,只是用各种编程语言对应的函数产生的均匀分布随机数的范围不同,有的函数可能还需要提供种子或初始化。

Matlab 提供的函数rand()可以产生一个在[0,1]区间分布的随机数,rand(2,4)则可以产生一个在[0,1]区间分布的随机数矩阵,矩阵为2行4列。

哈尔滨工业大学2013秋数值分析试题及答案

哈尔滨工业大学2013秋数值分析试题及答案

xi
f xi
-1 1
0 0
2 16
-1 , 2 1)试求 f ( x) 在 上的 Hermite 插值多项式 H ( x) ,使之满足下列条件:
H ( xi ) f ( xi ), i 0,1, 2

H ( x1 ) 0
R( x) f ( x) H ( x ) f ( 4 )( ) ( x 1) x 2 ( x 2) 4! ,
(1)求出该格式的局部截断误差首项和首项系数; (2)分析该格式的收敛性; (3)讨论该格式的绝对稳定性,指出绝对稳定区间。
Cr
(在局部截断误差中 (参考定理: 设
p p 1 r r 1 1 [ (i) ai r (i) bi ] , r 2,3, r! i 0 i 1
(1) 0, (0) 0, (2) 0, '(0) 0, ( x) 0
故 (t ) 有 5 个零点, (4) (t ) 至少有一个零点 :
(4) ( ) f (4) ( ) 4!k ( x) 0
所以 k ( x)
f (4) ( ) ,余项表达式为 4!
0.15625 0.15625 x0 [1.6,1.2] , H 0 F '[ x 0 ]1 0.208333 0.208333
x1 [1.58125,1.225] y 0 [0.000976562, 0.120273] r 0 [0.01875, 0.025] 0.154345 0.154345 H1 0.206428 0.210238 x 2 [1.58114,1.22474] y1 [0.000977866, 0.000291477] r1 [0.000108524, 0.000259077] 0.150145 0.150145 H2 0.202228 0.214438

哈尔滨工程大学数值分析大作业2014-附fortran程序

哈尔滨工程大学数值分析大作业2014-附fortran程序

B班大作业要求:1. 使用统一封皮;2. 上交大作业内容包含:一摘要二数学原理三程序设计(必须对输入变量、输出变量进行说明;编程无语言要求,但程序要求通过)四结果分析和讨论五完成题目的体会与收获3。

提交大作业的时间:本学期最后一次课,或考前答疑;过期不计入成绩;4。

提交方式:打印版一份;或手写大作业,但必须使用A4纸。

5。

撰写的程序需打印出来作为附录。

课程设计课程名称:设计题目:学号:姓名:完成时间:题目一:非线性方程求根 一 摘要非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要.本实验通过使用常用的求解方法二分法和Newton 法及改进的Newton 法处理几个题目,分析并总结不同方法处理问题的优缺点。

观察迭代次数,收敛速度及初值选取对迭代的影响。

用Newton 法计算下列方程(1) 310x x --= , 初值分别为01x =,00.45x =,00.65x =; (2) 32943892940x x x +-+= 其三个根分别为1,3,98-。

当选择初值02x =时给出结果并分析现象,当6510ε-=⨯,迭代停止。

二 数学原理对于方程f (x)=0,如果f (x )是线性函数,则它的求根是很容易的.牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程f(x)=0逐步归结为某种线性方程来求解.设已知方程f (x)=0有近似根x k (假定k f'(x )0≠) ,将函数f (x)在点x k 进行泰勒展开,有k k k f(x)f(x )+f'(x )(x-x )+≈⋅⋅⋅于是方程f (x)=0可近似的表示为k k k f(x )+f'(x )(x-x )=0这是个线性方程,记其根为x k+1,则x k+1的计算公式为k+1k ()x =x -'()k k f x f x ,k=0,1,2,…这就是牛顿迭代法或简称牛顿法。

三 程序设计(本程序由Fortran 语言编制)(1)对于310x x --=,按照上述数学原理,编制的程序如下program newton implicit nonereal :: x (0:50),fx (0:50),f1x (0:50)!分别为自变量x ,函数f(x )和一阶导数f1(x ) integer :: kwrite (*,*) ”x (0)=”read(*,*) x(0) !输入变量:初始值x(0)open (10,file=’1.txt’) do k=1,50,1fx (k)=x (k —1)**3-x (k —1)—1 f1x (k)=3*x(k —1)**2-1x (k)=x (k —1)-fx (k)/f1x(k) !牛顿法write(*,'(I3,1x ,f11。

《数学实验》实验报告——迭代法

《数学实验》实验报告——迭代法

观察序列,并且判断极限。 Mathematica 程序如下:
当 x0=0.1,n=10 时,运行程序得
当 x0=0.5,n=10 时,运行程序得
当 x0=0.9,n=10 时,运行程序得
当 x0=1,n=10 时,运行程序得
实验结论:
10
由以上实验可得,函数 f(x)=x/2+1/x 的极限为 1.41421
《数学实验》实验报告
班级 实验 内容 **** 学号 **** 姓名 实验 类别 **** 成绩 实验 时间
迭代法
自选实验
2011.6.7
实验问题:
n 元线性方程组
a11 x1 a12 x 2 a1 n xn 0 a x a x a x 0 21 1 22 2 2n n am 1 x1 am 2 x 2 amn xn 0
其中,f[x_]:=为所求迭代函数,迭代n次产生相应是序列,并观察。
(3)线性方程组的迭代求解 对给定的矩阵 M、 数组 f 和初始向量 x0, 由 X^(n+1)=Mx^n+f,n=0,1,2,3……给定的结 果 其 Matheatica 程序如下:

实验过程:
1.迭代序列 ( 1 ) 给 定 的 实 数 域 上 光 滑 的 实 值 函 数 f(x) 以 及 初 值 x0, 定 义 数 列 x(n+1)=f(x0),n=0,1,2,3,……. 对函数 f(x)= (25*x - 85)/(x + 3)的迭代过程,可以形象地用蜘蛛网图像来直观地显示,运 行以下程序:
2.方程求根
用迭代序列求 g(x)=x^3-2*x+1 的根,其 matheatic 程序如下:

数学数学实验Newton迭代法

数学数学实验Newton迭代法

数学实验题目4 Newton 迭代法摘要0x 为初始猜测,则由递推关系产生逼近解*x 的迭代序列{}k x ,这个递推公式就是Newton 法。

当0x 距*x 较近时,{}k x 很快收敛于*x 。

但当0x 选择不当时,会导致{}k x 发散。

故我们事先规定迭代的最多次数。

若超过这个次数,还不收敛,则停止迭代另选初值。

前言利用牛顿迭代法求的根程序设计流程问题1(1 程序运行如下:r = NewtSolveOne('fun1_1',pi/4,1e-6,1e-4,10) r = 0.7391(2 程序运行如下:r = NewtSolveOne('fun1_2',0.6,1e-6,1e-4,10) r = 0.5885问题2(1 程序运行如下:否 是否是是定义()f x输入012,,,x N εε开 始1k =01()f x ε<0100()()f x x x f x =-'102||x x ε-<k N =输出迭代失败标志输出1x输出奇 异标志结 束01x x = 1k k =+ 否r = NewtSolveOne('fun2_1',0.5,1e-6,1e-4,10)r = 0.5671(2)程序运行如下:r = NewtSolveOne('fun2_2',0.5,1e-6,1e-4,20)r = 0.5669问题3(1)程序运行如下:①p = LegendreIter(2)p = 1.0000 0 -0.3333p = LegendreIter(3)p = 1.0000 0 -0.6000 0p = LegendreIter(4)p =1.0000 0 -0.8571 0 0.0857p = LegendreIter(5)p = 1.0000 0 -1.1111 0 0.2381 0②p = LegendreIter(6)p = 1.0000 0 -1.3636 0 0.4545 0 -0.0216r = roots(p)'r= -0.932469514203150 -0.6612 0.9324695142031530.6612 -0.238619186083197 0.238619186083197用二分法求根为:r = BinSolve('LegendreP6',-1,1,1e-6)r = -0.932470204878826 -0.661212531887755 -0.2386200573979590.2386 0.661192602040816 0.932467713647959(2)程序运行如下:①p = ChebyshevIter(2)p = 1.0000 0 -0.5000p = ChebyshevIter(3)p = 1.0000 0 -0.7500 0p = ChebyshevIter(4)p = 1.0000 0 -1.0000 0 0.1250p = ChebyshevIter(5)p = 1.0000 0 -1.2500 0 0.3125 0②p = ChebyshevIter(6)p = 1.0000 0 -1.5000 0 0.5625 0 -0.0313r = roots(p)'r = -0.965925826289067 -0.7548 0.9659258262890680.7547 -0.258819045102521 0.258819045102521用二分法求根为:r = BinSolve('ChebyshevT6',-1,1,1e-6)r = -0.965929926658163 -0.7755 -0.2588289221938780.2588 0.7020 0.965924944196429与下列代码结果基本一致,只是元素顺序稍有不同:j = 0:5;x = cos((2*j+1)*pi/2/(5+1))x =0.965925826289068 0.7548 0.258819045102521-0.258819045102521 -0.7547 -0.965925826289068(3)程序运行如下:①p = LaguerreIter(2)p = 1 -4 2p = LaguerreIter(3)p = 1 -9 18 -6p = LaguerreIter(4)p = 1 -16 72 -96 24p = LaguerreIter(5)p =1.0000 -25.0000 200.0000 -600.0000 600.0000 -120.000②p = LaguerreIter(5)p =1.0000 -25.0000 200.0000 -600.0000 600.0000 -120.000r = roots(p)'r =12.6432 7.8891 3.5964257710407111.4520 0.263560319718141用二分法求根为:r = BinSolve('LaguerreL5',0,13,1e-6)r = 0.263560314567722 1.4789 3.5964257656311507.0720 12.6490(4)程序运行如下:①p = HermiteIter(2)p = 1.0000 0 -0.5000p = HermiteIter(3)p = 1.0000 0 -1.5000 0p = HermiteIter(4)p = 1.0000 0 -3.0000 0 0.7500p = HermiteIter(5)p = 1.0000 0 -5.0000 0 3.7500 0②p = HermiteIter(6)p = 1.0000 0 -7.5000 0 11.2500 0 -1.8750r = roots(p)'r =-2.3587 2.3588 -1.3358490740136961.335849074013698 -0.4367 0.4366用二分法求根为:r = BinSolve('HermiteH6',-3,3,1e-6)r =-2.3516 -1.335849********* -0.43630.4366 1.335848983453244 2.3504所用到的函数function r = NewtSolveOne(fun, x0, ftol, dftol, maxit)% NewtSolveOne 用Newton法解方程f(x)=0在x0附近的一个根%% Synopsis: r = NewtSolveOne(fun, x0)% r = NewtSolveOne(fun, x0, ftol, dftol)%% Input: fun = (string) 需要求根的函数及其导数% x0 = 猜测根,Newton法迭代初始值% ftol = (optional)误差,默认为5e-9% dftol = (optional)导数容忍最小值,小于它表明Newton法失败,默认为5e-9 % maxit = (optional)迭代次数,默认为25%% Output: r = 在寻根区间内的根或奇点if nargin < 3ftol = 5e-9;endif nargin < 4dftol = 5e-9;endif nargin < 5maxit = 25;endx = x0; %设置初始迭代位置为x0k = 0; %初始化迭代次数为0while k <= maxitk = k + 1;[f,dfdx] = feval(fun,x); %fun返回f(x)和f'(x)的值if abs(dfdx) < dftol %如果导数小于dftol,Newton法失败,返回空值r = [];warning('dfdx is too small!');return;enddx = f/dfdx; %x(n+1) = x(n) - f( x(n) )/f'( x(n) ),这里设dx = f( x(n) )/f'( x(n) )x = x - dx;if abs(f) < ftol %如果误差小于ftol,返回当前x为根r = x;return;endendr = []; %如果牛顿法未收敛,返回空值function p = LegendreIter(n)% LegendreIter 用递推的方法计算n次勒让德多项式的系数向量Pn+2(x) = (2*i+3)/(i+2) * x*Pn+1(x) - (i+1)/(i+2) * Pn(x)%% Synopsis: p = LegendreIter(n)%% Input: n = 勒让德多项式的次数%% Output: p = n次勒让德多项式的系数向量if round(n) ~= n | n < 0error('n必须是一个非负整数');endif n == 0 %P0(x) = 1p = 1;return;elseif n == 1 %P1(x) = xp = [1 0];return;endpBk = 1; %初始化三项递推公式后项为P0pMid = [1 0]; %初始化三项递推公式中项为P1for i = 0:n-2pMidCal = zeros(1,i+3); %构造用于计算的x*Pn+1pMidCal(1:i+2) = pMid;pBkCal = zeros(1,i+3); %构造用于计算的PnpBkCal(3:i+3) = pBk;pFwd = (2*i+3)/(i+2) * pMidCal - (i+1)/(i+2) * pBkCal; %勒让德多项式三项递推公式Pn+2(x) = (2*i+3)/(i+2) * x*Pn+1(x) - (i+1)/(i+2) * Pn(x)pBk = pMid; %把中项变为后项进行下次迭代pMid = pFwd; %把前项变为中项进行下次迭代endp = pFwd/pFwd(1); %把勒让德多项式最高次项系数归一化function p = ChebyshevIter(n)% ChebyshevIter 用递推的方法计算n次勒让德-切比雪夫多项式的系数向量Tn+2(x) = 2*x*Tn+1(x) - Tn(x)%% Synopsis: p = ChebyshevIter(n)%% Input: n = 勒让德-切比雪夫多项式的次数%% Output: p = n次勒让德-切比雪夫多项式的系数向量if round(n) ~= n | n < 0error('n必须是一个非负整数');endif n == 0 %T0(x) = 1p = 1;return;elseif n == 1 %T1(x) = xp = [1 0];return;endpBk = 1; %初始化三项递推公式后项为T0pMid = [1 0]; %初始化三项递推公式中项为T1for i = 0:n-2pMidCal = zeros(1,i+3); %构造用于计算的x*Tn+1pMidCal(1:i+2) = pMid;pBkCal = zeros(1,i+3); %构造用于计算的PnpBkCal(3:i+3) = pBk;pFwd = 2*pMidCal - pBkCal; %勒让德-切比雪夫多项式三项递推公式Tn+2(x) = 2*x*Tn+1(x) - Tn(x)pBk = pMid; %把中项变为后项进行下次迭代pMid = pFwd; %把前项变为中项进行下次迭代endp = pFwd/pFwd(1); %把勒让德-切比雪夫多项式最高次项系数归一化function p = LaguerreIter(n)% LaguerreIter 用递推的方法计算n次拉盖尔多项式的系数向量Ln+2(x) = (2*n+3-x)*Ln+1(x) - (n+1)*Ln(x)%% Synopsis: p = LaguerreIter(n)%% Input: n = 拉盖尔多项式的次数%% Output: p = n次拉盖尔多项式的系数向量if round(n) ~= n | n < 0error('n必须是一个非负整数');endif n == 0 %L0(x) = 1p = 1;return;elseif n == 1 %L1(x) = -x+1p = [-1 1];return;endpBk = 1; %初始化三项递推公式后项为L0pMid = [-1 1]; %初始化三项递推公式中项为L1for i = 0:n-2pMidCal1 = zeros(1,i+3); %构造用于计算的x*Ln+1(x)pMidCal1(1:i+2) = pMid;pMidCal2 = zeros(1,i+3); %构造用于计算的Ln+1(x)pMidCal2(2:i+3) = pMid;pBkCal = zeros(1,i+3); %构造用于计算的Ln(x)pBkCal(3:i+3) = pBk;pFwd =( (2*i+3)*pMidCal2 - pMidCal1 - (i+1)*pBkCal )/ (i+2); %拉盖尔多项式三项递推公式Ln+2(x) = (2*n+3-x)*Ln+1(x) - (n+1)^2*Ln(x)pBk = pMid; %把中项变为后项进行下次迭代pMid = pFwd; %把前项变为中项进行下次迭代endp = pFwd/pFwd(1); %把拉盖尔多项式最高次项系数归一化function p = HermiteIter(n)% HermiteIter 用递推的方法计算n次埃尔米特多项式的系数向量Hn+2(x) = 2*x*Hn+1(x) - 2*(n+1)*Hn(x)%% Synopsis: p = HermiteIter(n)%% Input: n = 埃尔米特多项式的次数%% Output: p = n次埃尔米特多项式的系数向量if round(n) ~= n | n < 0error('n必须是一个非负整数');endif n == 0 %H0(x) = 1p = 1;return;elseif n == 1 %H1(x) = 2*xp = [2 0];return;endpBk = 1; %初始化三项递推公式后项为L0pMid = [2 0]; %初始化三项递推公式中项为L1for i = 0:n-2pMidCal = zeros(1,i+3); %构造用于计算的x*Hn+1(x)pMidCal(1:i+2) = pMid;pBkCal = zeros(1,i+3); %构造用于计算的Hn(x)pBkCal(3:i+3) = pBk;pFwd =2*pMidCal - 2*(i+1)*pBkCal; %埃尔米特多项式三项递推公式Hn+2(x) = 2*x*Hn+1(x) - 2*(n+1)*Hn(x)pBk = pMid; %把中项变为后项进行下次迭代pMid = pFwd; %把前项变为中项进行下次迭代endp = pFwd/pFwd(1); %把拉盖尔多项式最高次项系数归一化function r = BinSolve(fun, a, b, tol)% BinSolve 用二分法解方程f(x)=0在区间[a,b]的根%% Synopsis: r = BinSolve(fun, a, b)% r = BinSolve(fun, a, b, tol)%% Input: fun = (string) 需要求根的函数% a,b = 寻根区间上下限% tol = (optional)误差,默认为5e-9%% Output: r = 在寻根区间内的根if nargin < 4tol = 5e-9;endXb = RootBracket(fun, a, b); %粗略寻找含根区间[m,n] = size(Xb);r = [];nr = 1; %初始化找到的根的个数为1maxit = 50; %最大二分迭代次数为50for i = 1:ma = Xb(i,1); %初始化第i个寻根区间下限b = Xb(i,2); %初始化第i个寻根区间上限err = 1; %初始化误差k = 0;while k < maxitfa = feval(fun, a); %计算下限函数值fb = feval(fun, b); %计算上限函数值m = (a+b)/2;fm = feval(fun, m);err = abs(fm);if sign(fm) == sign(fb) %若中点处与右端点函数值同号,右端点赋值为中点b = m;else %若中点处与左端点函数值同号或为0,左端点赋值为中点a = m;endif err < tol %如果在a处函数值小于tolr(nr) = a; %一般奇点不符合该条件,这样可以去除奇点nr = nr + 1; %找到根的个数递增k = maxit; %改变k值跳出循环endk = k + 1; %二分迭代次数递增endendfunction X = powerX(x,a,b)% powerX 对给定向量(x1, x2,..., xn)返回增幂矩阵(x1^a, x2^a,..., xn^a; x1^a+1, x2^a+1,..., xn^a+1; ...; x1^b, x2^b,..., xn^b;)%% Synopsis: X = powerX(x,a,b)%% Input: x = 需要返回增幂矩阵的向量% a,b = 寻根区间上下限%% Output: X = 增幂矩阵(x1^a, x2^a,..., xn^a; x1^a+1, x2^a+1,..., xn^a+1; ...; x1^b, x2^b,..., xn^b;)if round(a) ~= a | round(b) ~= berror('a,b must be integers');elseif a >= berror('a must be smaller than b!');endx = x(:)';row = b-a+1;col = length(x);X = zeros(row, col);for i = b:-1:aX(b-i+1,:) = x.^i;Endfunction [f, dfdx] = fun1_1(x)f = cos(x) - x;dfdx = -sin(x) - 1;function [f, dfdx] = fun1_2(x)f = exp(-x) - sin(x);dfdx = -exp(-x) - cos(x);function [f, dfdx] = fun2_1(x)f = x - exp(-x);dfdx = 1 + exp(-x);function [f, dfdx] = fun2_2(x)f = x.^2 - 2*x*exp(-x) + exp(-2*x);dfdx = 2*x - 2*exp(-x) + 2*x*exp(-x) - 2*exp(-2*x);function y = LegendreP6(x)p = LegendreIter(6);X = powerX(x,0,6);y = p*X;function y = ChebyshevT6(x)p = ChebyshevIter(6);X = powerX(x,0,6);y = p*X;function y = LaguerreL5(x)p = LaguerreIter(5);X = powerX(x,0,5);y = p*X;function y = HermiteH6(x)p = HermiteIter(6);X = powerX(x,0,6);y = p*X;思考题(1)由于Newton法具有局部收敛性,所以在实际问题中,当实际问题本身能提供接近于根的初始近似值时,就可保证迭代序列收敛,但当初值难以确定时,迭代序列就不一定收敛。

2011年哈工大(数值分析)试题

2011年哈工大(数值分析)试题

y0 , y1 , (h为步长) 。
(1)确定方法中的局部误差主项,并指出方法的阶数; (2)讨论该方法的收敛性和绝对稳定性。 ( 在 线 性 多 步 法 的 局 部 截 断
Cr
p 1 p p 1 (i ) r 1 bi , r 2,3, ) i a r i r ! i 0 i 1
1 2
a 2 1 x1 1 3、已知方程组 2 a 2 x2 2 , 1 2 a x3 1
(1)写出求解此方程组的 Jacobi 迭代格式; (2)用已知结论说明,当 a 4 时,该迭代格式收敛;
0 2
T
(1)求 A , x0 , x1 使求积公式具有尽可能高的代数精度,并指出此求积公式的 代数精度是多少?(2)并用此公式计算积分 x 4 dx 。 (计算结果保留四位小数)
0 2
ρ 。 6、试用共轭梯度法(cg 法)求解线性方程组。 (初始值取 x (0) (0, 0, 0)T )
a x 2 x3 , 0 x 1 ,具有连续二 2、 (1)求 a 及不超过二次多项式 P( x) 使 S ( x) P( x) , 1 x 2
阶导数且满足 P (2) 0 ; (2) 当 f ( x) 用满足条件 f (1) P(1), f (2) P(2), f ' (1) P ' (1) 的插值多项式近似时, 求 f ( x)dx 。
2011 年哈工大《数值分析》考试
1、 设 f ( x) x3 5 。 (1)应用 Newton 迭代法于方程 f ( x) 0 ,导出 3 5 的迭
2
代公式; 并讨论迭代公式的收敛速度; (2) 尝试把导出的迭代公式加以改进, 提高迭代公式的收敛速度, 并用改进后的迭代公式计算 3 5(取初值 x0 1.0 , 计算三步,结果保留四位小数) 。

哈工大2011年数值分析

哈工大2011年数值分析

2011年数值分析1、设 f (x) =(x 3 -5)2(1) 应用newton 迭代法解方程f (x) =o 导出3 5的迭代公式。

并讨论 迭代公式的收敛速度(2) 改进导出的迭代公式以提高迭代的收敛阶,并用改进后的迭代 公式计算3 5 (取初始近似值x o =1,要求迭代三步,结果保留4位小 数)厂 2 32( 1)求a 及不超过二次多项式p(x)使S(x)=」a *x +X 兰X 。

,具有p(x),1 兰 xW2连续的二阶导数且满足p(2) =0 ;(2)当f(x)用满足条件f(1)=p(1),f (2)二P (2), f '(1^ p '(1的插值多项式2近似时求.f(x)dx-1a 」"(1)写出Jacobi 迭代格式(2) 证明当|a »4时,该迭代格式收敛(3) 当a=5时,取x 0( —,1,—),求出x 2 (计算结果保留4位小数) 10 5 104设f(x)=???,在[0,1]上给出函数f(x)的n+1个等距节点X i 函数表,若想用二次插值来计算f(x)的近似值。

要求截断误差不超过10-6,问使 用多大的函数表步长h5、给定求积公式 f(x)dx : A o f(X o ) - f (X i )(1)求出待定参数A b ,X o ,X i ,使公式的代数精度尽可能高,并指出此 'a 3已知线性方程组2 1]叮 2 x 22求积公式的代数精度是多少?2(2)用此求积公式计算积分x4dx。

(计算结果保留4位小数)6试用共轭梯度法求解线性方程组,初始值取x°=o,o,o)2 -1 0 X i 1-i 3 -i X2 1已知计算过程为eg法0 -1 4丄X3」?j7已知数据点(0,1)(1,0)(2,丄)(3,10),试利用反差商构造有理插值函数R(x)3通过已知数据点._3 -4 31乂1 _2 |8方程组-4 6 3 X2『53^L x d 7J]3(1)试用Doolittle分解方法求解方程组(2)计算出系数矩阵A按模最大特征值及对应的特征向量,初始向量为(1,0,0)T,迭代两步,计算结果保留4位小数。

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

一、平面线性映射迭代
对函数y=f(x),按照几何映射的观点,图形上就可表示为一条曲 线。特别地,当f表现为一条通过原点的直线时,称f为线性映射。
函数映射 线性映射:y f x ax 仿射映射: y f x ax b
一次函数映射 这类线性映射(平面到平面、 空间到空间)有什么性质呢? 【敛散性,敛散速度等】 4
2015年 秋季学期
0.05
0
-0.05 -0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
drawFig31.m
一、平面线性映射迭代
从不动点谈起
对于函数f(x),若存在x*使得x*=f(x*),则称x*为f(x)的不动点.不动 点分为吸引不动点和排斥不动点,当迭代序列收敛时不动点为 吸引点,当迭代序列发散时不动点为排斥点,因此要想知道不 动点的类型,就要探索序列收敛和发散的条件,就要对大量的线性 或非线性函数进行研究。
1.定义 : 关系式
(n) (n) T , , xm ) 将向量 ( x1( n ) , x2
( n 1) ( n 1) ( n 1) T 映射为向量 ( x1 , x2 , , xm )
6
1
一、平面线性映射迭代
写成矩阵形式
一、平面线性映射迭代
xn 1 Axn
(n) (n) T 其中 xn , xn 1 分别为 ( x1( n ) , x2 , , xm ) 与
xk 1 Ayk , yk 1 xk 1 / m( xk 1 )
……
这样得到的序列 { yn }是否收敛呢?
yn Ayn 1 / m( xn 1 ) 1 y Ay, Ay y
说明是A的特征值,而y 是 对应的特征向量。 11
迭代序列的收敛性: (1)对任意的x (a, b), f ( x) (a, b)

一、平面线性映射迭代
在线性代数课程的学习中,我们已经学过了一对很重要的数 学概念 —— 方阵的特征值和特征向量,本次课程我们进一步 阐述和研究它的数学本质,并在此基础上利用相关的代数知 识和matlab软件以可视化的方式加深对于它们的理解。
(n) (n) x1( n 1) a11 x1( n ) a12 x2 a1m xm ( n 1) (n) (n) (n) x2 a21 x1 a22 x2 a2 m xm ( n 1) (n) (n) (n) x a x a m1 1 m 2 x2 amm xm m

y ax b
请参考:iterline.m

考虑不同的数对(a, b, x0, n),通过实验和图形表现,观察实验现象。
思考:
① 能否找到一个线性迭代,它对任意初始值,迭代序列均收敛? ② 能否找到一个线性函数,它对任意函数值,迭代总是发散的? ③ 是否存在这样的线性迭代,对一个或一些初始值给出的迭代序列收敛,而 对其他初始值发散呢? ④ 能否找到这样的线性函数,对不同的初始值,迭代序列收敛到不同的极限? ⑤ 对总给出收敛序列的线性函数 ,序列的极限L与常数 (a,b)关系如何? 为了研究这个问题,取一个固定的 a值,变化 b,观察序列对不同的极限值, 注意到了什么? y -0.5 x +1




海岸线有多长?
二、分形(续)
二、分形(续)——几个例子
按照传统的科学方法来考虑,这是一个很简单的问题,然而曼德勃罗教 授在其名为《英国海岸线有多长?》的文章中作出了令人惊诧的答案:
“英国海岸线的长度是不确定的!其原因在于海岸线的长度依 赖于测量时所使用的尺度。” 以1km为单位测量海岸线,得到的近似长度将短于1km的迂回曲折 都忽略掉了,若以1m为单位测量,则能测出被忽略掉的迂回曲折 ,长度将变大,测量单位进一步变小,测得的长度将愈来愈大, 这些愈来愈大的长度将趋近于一个确定值,这个极限值就是海岸 线的长度。
线性映射迭代、分形、混沌
考察下列 方程组: 初始值:
0.2
1 xn 1 xn 3 y 1 x n 1 n 3
3 yn 3 3 yn 3
可写 成:
x0 0, y0 0.2
可视为:A为一个映射,它将平面 上的点映射为平面上的另一个点。
1 3 xn 1 3 xn 3 xn y Ay 3 yn n 1 1 n 3 3
( n 1) ( n 1) T ( x1( n 1) , x2 , , xm ) ,A为m×m矩阵
形如 y=Ax 的映射称为线性映射.给出一个初始向量
(0) (0) T x0 ( x1(0) , x2 , , xm ) ,将上述映射反复作用可得 序列: , , x0 x1 Ax0 x2 Ax1 ,…, xn 1 Axn , …我 们将这一过程称为线性映射的迭代,其中矩阵A称 为迭代矩阵 。
(2) f ( x)在(a, b)内可导, 且存在L使得 f 由f ( x)所生成的迭代序列收敛
12
2
二、分形
在经典的欧几里德几何学中,我们可以用直线、立方体、圆锥、 球等这一类规则的形状去描述诸如道路、建筑物、车轮等等人造 物体,这是极自然的事情。 然而在自然界中,却存在着许许多多极其复杂的形状,如,山不 是锥,云不是球,闪电不是折线,雪花边缘也不是圆等等,它们 不再具有我们早已熟知的数学分析中的连续、光滑(可导)这一 基本性质了。 这一类奇形怪状的物体长期以来被认为是“不可名状的”或“病 态的”,从而很容易被人们忽视了。显然传统的数学已经无法来 描述它们,从而使经典数学陷入了危机,于是分形几何学 (fractal geometry)便应运而生。 在科学和艺术中都找不到合适的术语来给它们命名。但是,它们 都有一个共同的数学结构-----粗糙和自相似。 13
则对任意的非零初始向量 (1 0) ,按上述迭代过程得到 x1 , x2 , 及 y1 , y2 , ,有:
lim yn a1 (其中a是一个非零常数), lim m( yn ) 1
n
n
x0 11 a2 2 am m
x2 Ay1 , y2 x2 / m( x2 )
第三章 平面线性映射的迭代--二维动力系统(图3.1)
0.15
0.1
实验现象:逐点连线后的图形 表明:随着时间的推移(即迭 代的过程),将趋于一个平衡 点。 如果将此方程组看成是一个对 某系统的描述,则该系统绕着 平衡点“游荡”,其潜在的形 状被称为“奇异吸引子”。 2
石 振 锋
哈工大 计算数学研究所
一、平面线性映射迭代
归一化线性迭代收敛的充分条件 1 , 2 , , m ,A 设m阶实方阵A有m个线性无关的特征向量
的m个特征值满足下列关系:
1 2 2 m
x1 Ax0 , y1 x1 / m( x1 )
如果{ yn }的极限存在,那么显然m(xn) 的极限也存在,设它们极限分别为y与, 对下面式子两边同时取极限:
二、分形(续)
分形理论创始人-美籍 法国数学家Mandelbrot。
Mandelbrot 美国IBM(国际商业机器) 公司沃特森研究中心自然科 学部高级研究员 哈佛大学应用数学兼职教授 美国国家科学院院士 美国艺术与科学研究员成员 欧洲艺术、科学和人文研究 院院士。 15

二、分形(续)
对于排斥不动点,观察它的迭代序列,会发现两种情况(后面介绍): 1、它可能也有收敛的子序列,此时序列可能收敛于周期点,经过探索发现这 些周期点都是2的n次方倍的。这是一种有序现象。 2、就是出现所谓的混沌现象。分析混沌的特性,观察并体会混沌无序中的有 序,以及它对初始值的敏感性。 通过函数迭代利用计算机求出函数的迭代序列,进而求得不动点的近似值。 在有关程序中改变参数值和初值,从中体会序列敛散性(收敛的速度),同时 还可以通过蛛网图(后面介绍),观察它的几何特性。

lamda=weatherMarkov([1/3, 1/6, 1/2], 5) lamda=weatherMarkov([1/4, 1/2, 1/4], 13) testMarkov()
由线性代数的知识我们知道,如存在等式 说明A1有一特征值1,而
y 0.5 x 1
y x2
y 3 x 2
1967 年发表于美国《科学》杂志上 的“英国的海岸线有多长”的划时 代论文,是他的分形思想萌芽的重 要标志。 1973 年,在法兰西学院讲课期间, 他提出了分形几何学的整体思想。 1977 年,他出版了第一本著作《分 形:形态,偶然性和维数》,标志 着分形理论的正式诞生。 五年后,他出版了著名的专著《自 然界的分形几何学》,至此,分形 理论初步形成。 16
二、分形(续)
这一类奇形怪状的物体长期以来被认为是“不可名状的”或“病 态的”,从而很容易被人们忽视了。显然传统的数学已经无法来 描述它们,从而使经典数学陷入了危机,于是分形几何学 (fractal geometry)便应运而生。 分形几何与传统几何相比有什么特点: 从整体上看,分形几何图形是处处不规则的。例如,海岸线和山 川形状,从远距离观察,其形状是极不规则的。 在不同尺度上,图形的规则性又是相同的。海岸线和山川形状, 从近距离观察,其局部形状又和整体形态相似,它们从整体到局 部,都是自相似的。 拓扑维数:确定整个图形中点的位置所需的参数个数,实际上 就是我们通常所理解的关于维的概念。 直线是一维的,平面是二维的,空间是三维的,曲线是一维的, 曲面是二维的。 14
3
一、平面线性映射迭代
迭代的可视化(蜘蛛网图)
对函数的迭代过程,我们可以用几何图像来直观的显示它。 在xoy平面上,先作出函数y=f(x)与y=x的图形,对初值x0,在 曲线y=f(x)上可确定一点P0,它以x0为横坐标,过P0引平行于x 轴的直线,设该直线与y=x交于Q1 点。 过Q1 点作平行于y 轴的直线,它与曲线y=f(x)的交点交于P1点。 重复上面的过程,就在曲线y=f(x)上得到点列P1,P2,P3…。 。 不难知道,这些点的横坐标构成的序列x1,x2,x3,…, 就是迭代序列 。 若迭代序列收敛,则点列 P1,P2,P3…趋向 于曲线曲线=f(x)与y=x 交点P*,因此若迭代 序列是否收敛,可以从图形上观察出来。 这种图称为迭代的蜘蛛网图。 5
相关文档
最新文档