Jacobi–Anger expansion
From Wikipedia, the free encyclopedia
In mathematics, the Jacobi–Anger expansion (or Jacobi–Anger identity ) is an expansion of exponentials of trigonometric functions in the basis of their harmonics. It is useful in physics (for example, to convert between plane waves and cylindrical waves), and in signal processing (to
describe FM signals). This identity is named after the 19th-century mathematicians Carl Jacobi and Carl Theodor Anger.
The most general identity is given by:[1][2]
and
where J n (z ) is the n -th Bessel function. Using the relation
valid for
integer n , the expansion becomes:[1][2]
The following real-valued variations are often useful as well:[3]
Notes
1.^ a b Colton & Kress (1998) p. 3
2.
2.^ a b Cuyt et al. (2008) p. 344.
3.^
Abramowitz & Stegun (1965) p. 361, 9.1.42–45
References
?Abramowitz, Milton; Stegun, Irene A., eds. (1965), "Chapter9", Handbook of Mathematical
Functions with Formulas, Graphs, and Mathematical Tables, New York: Dover, pp. 355,
ISBN 978-0486612720, MR0167642, http://www.math.sfu.ca/~cbm/aands/page_355.htm.
?Colton, David; Kress, Rainer (1998), Inverse acoustic and electromagnetic scattering theory,
Applied Mathematical Sciences, 93 (2nd ed.), ISBN 978-3-540-62838-5
?Cuyt, Annie; Petersen, Vigdis; Verdonk, Brigitte; Waadeland, Haakon; Jones, William B.
(2008), Handbook of continued fractions for special functions, Springer, ISBN 978-1-4020-6948-2
External links
?Weisstein, Eric W.. "Jacobi–Anger expansion". MathWorld — a Wolfram web resource.
https://www.wendangku.net/doc/c63497078.html,/Jacobi-AngerExpansion.html. Retrieved 2008-11-11. Retrieved from "https://www.wendangku.net/doc/c63497078.html,/w/index.php?title=Jacobi%E2%80%
93Anger_expansion&oldid=385003152"
Special functions Mathematical identities
Categories:
?This page was last modified on 15 September 2010 at 16:12.
?Text is available under the Creative Commons Attribution-ShareAlike License; additional terms
may apply. See Terms of use for details.
Wikipedia? is a registered trademark of the Wikimedia Foundation, Inc., a non-profit
organization.
2013-2014(1)专业课程实践论文 题目:雅可比迭代法
一、算法理论 设有方程组),...,2,1(1 n i b x a i j n j ij ==∑= 记作,b Ax = (1) A 为非奇异阵且),,...,2,1(0n i a ij =≠将A 分裂为U L D A --=,其中 D =????????????????nn a a a 22 11,L =-??? ????? ???? ????-00001,21323121n n n n a a a a a a U =-?? ? ?? ? ? ? ????????-0000,122311312n n n n a a a a a a 将式(1)第)....2,1(n i i =个方程用ii a 去除再移项,得到等价方程组 (),,...,2,111n i x a b a x n i j j j ij i ii i =??? ? ? ?? -=∑≠= (2) 简记作 ,0f x B x += 其中 ().,111 0b D f U L D A D I B ---=+=-= 对方程组(2)应用迭代法,得到解式(1)的雅可比迭代公式 () () ()()()()()????????? ?? ? ??- ==∑≠=+,1,...,11002010n i j i k j ij i ii k i t n x a b a x x x x x , 初始向量 (3)
其中()()()()()T k n k k k x x x x ,,...,21=为第k 次迭代向量。设()k x 已经算出,由式(3)可计算下一次迭代向量()(),,...,2,1,...;2,1,01n i k x k ==+ 显然迭代公式(3)的矩阵形式为 ()()()()???+=+,010f x B x x k k ,初始向量 其中0B 称为雅可比方法迭代矩阵。
第一题 算法解释 Jacobi迭代法 方程组Ax=b,其中A∈R nxn,b∈R n,且A为非奇异,则A可以写成A=D-L-U。 其中,D=diag[a11, a22,…, a nn],而-L,-U分别为A的上三角和下三角部分(不包括对角线元素) 则x=D-1(L+U)x+D-1b,由此可以构造迭代法:x(k+1)=Bx(k)+f 其中:B= D-1(L+U)x=I-D-1A,f=D-1b。 M文件 function[x,n]=jacobi(A,b,x0,eps,varargin) %采用Jacobi迭代法求线性方程组Ax=b的解 %线性方程组的系数矩阵:A %线性方程组中的常数向量:b %迭代初始向量:x0 %解的精度控制:eps %迭代步数控制:varargin %线性方程组的解:x %求出所需精度的解实际的迭代步数:n if nargin==3 eps=1.0e-6; M=200; elseif nargin<3 error return elseif nargin==5 M=varargin{1}; end D=diag(diag(A)); %求A的对角矩阵 L=-tril(A,-1); %求A的下三角阵 U=-triu(A,1); %求A的上三角阵 B=D\(L+U); f=D\b; x=B*x0+f; n=1; %迭代次数 %迭代过程 while norm(x-x0)>=eps x0=x; x=B*x0+f; n=n+1; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!');
return; end end x n 例题 Jacobi迭代法求线性方程组实例。用Jacobi迭代法求解以下线性方程组10x1-x2=9 -x1+10x2+-2x3=7 -x2+10x3=6 在matlab命令窗口输入如下程序: >> a=[10 -1 0;-1 10 -2;0 -2 10]; >> b=[9;7;6]; >> jacobi(a,b,[0;0;0]) y = 0.9958 0.9579 0.7916 输出的迭代次数为: n = 11 ans = 0.9958 0.9579 0.7916
关于特征值与特征向量的求解方法与技巧 摘 要:矩阵的初等变换是高等代数中运用最广泛的运算工具,对矩阵的特征值与特征向量的求解研究具有一定意义。本文对矩阵特征值与特征向量相关问题进行了系统的归纳,得出了通过对矩阵进行行列互逆变换就可同时求出特征值及特征向量的结论。文章给出求解矩阵特征值与特征向量的两种简易方法: 列行互逆变换方法与列初等变换方法。 关键词: 特征值,特征向量; 互逆变换; 初等变换。 1 引言 物理、力学、工程技术的许多问题在数学上都归结为求矩阵的特征值与特征向量问题,直接由特征方程求特征值是比较困难的,而在现有的教材和参考资料上由特征方程求特征值总要解带参数的行列式,且只有先求出特征值才可由方程组求特征向量。一些文章给出了只需通过行变换即可同步求出特征值及特征向量的新方法,但仍未摆脱带参数行列式的计算问题。本文对此问题进行 了系统的归纳,给出了两种简易方法。 一般教科书介绍的求矩阵的特征值和特征向量的方法是先求矩阵A 的特征方程()0A f I A λλ=-=的全部特征根(互异) ,而求相应的特征向量的方法则是对每个i λ 求齐次线性方程组()0i I A X λ-=的基础解系,两者的计算是分离的,一个是计算行列式,另一个是解齐次线性方程组, 求解过程比较繁琐,计算量都较大。
本文介绍求矩阵的特征值与特征向量的两种简易方法, 只用一种运算 ——矩阵运算, 其中的列行互逆变换法是一种可同步求出特征值与特征向量的方法, 而且不需要考虑带参数的特征矩阵。而矩阵的列初等变换法, 在求出特征值的同时, 已经进行了大部分求相应特征向量的运算, 有时碰巧已完成了求特征向量的全部运算。两种方法计算量少, 且运算规范,不易出错。 2 方法之一: 列行互逆变换法 定义1 把矩阵的下列三种变换称为列行互逆变换: 1. 互换i 、j 两列()i j c c ?,同时互换j 、i 两行()j i r r ? ; 2. 第i 列乘以非零数()i k kc , 同时第i 行乘11i c k k ?? ?? ? ; 3. 第i 列k 倍加到第j 列()j i c kc +, 同时第j 行- k 倍加到第i 行 ()i j r kr -。 定理1 复数域C 上任一n 阶矩阵A 都与一个Jordan 标准形矩阵 1212,,....r k k kr J diag J J J λλλ? ? ???????? ??? ? ?? ?? ? ? ? ?? ? ?=相似, 其中 111110...0001...00..................000...1000...0ki ki J λλλλ?? ?? ?? ??=????????称为Jordan 块, 12r k k k n ++ +=并且 这个Jordan 标准形矩阵除去其中Jordan 块的排列次序外被矩阵A 唯一确定, J 称为A 的Jordan 标准形。 定理2 A 为任意n 阶方阵, 若T A J I P ?? ????????→ ? ????? 一系列列行互逆变换其中
实验五 矩阵的lu分解法,雅可比迭代法 班级: 学号: :
实验五 矩阵的LU 分解法,雅可比迭代 一、目的与要求: ? 熟悉求解线性方程组的有关理论和方法; ? 会编制列主元消去法、LU 分解法、雅可比及高斯—塞德尔迭代法德程序; ? 通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。 二、实验内容: ? 会编制列主元消去法、LU 分解法、雅可比及高斯—塞德尔迭代法德程序,进一步了解 各种方法的优缺点。 三、程序与实例 ? 列主元高斯消去法 算法:将方程用增广矩阵[A ∣b ]=(ij a )1n (n )+?表示 1) 消元过程 对k=1,2,…,n-1 ①选主元,找{}n ,,1k ,k i k +∈使得 k ,i k a = ik a n i k max ≤≤ ②如果0a k ,i k =,则矩阵A 奇异,程序结束;否则执行③。 ③如果k i k ≠,则交换第k 行与第k i 行对应元素位置, j i k j k a a ? j=k,┅,n+1 ④消元,对i=k+1, ┅,n 计算 kk ik ik a a l /= 对j=l+1, ┅,n+1计算 kj ik ij ij a l a a -= 2) 回代过程 ①若0=nn a ,则矩阵A 奇异,程序结束;否则执行②。 ②nn n n n a a x /1,+=;对i=n-1, ┅,2,1,计算 ii n i j j ij n i i a x a a x /11,??? ? ? ?- =∑+=+ 程序与实例 程序设计如下:
#include 软件迭代开发流程 前期项目引入,可行性分析略 项目调研:角色应包括项目经理、软件项目经理,应形成用户需求文档该文档需提交用户确认。产物为用户需求说明书文档 需求分析:角色应包括项目经理、软件项目经理、高级软件工程师,根据前期调研得到的用户需求说明书文档进行需求分析,应形成项目需求分析文档,该文档需提交项目组进行评审,主要是软件部,对需求能否实现进行评估。产物为项目需求分析说明书文档原型设计:角色应包括项目经理、UI设计、系统设计师,根据项目需求分析说明书进行原型设计,根据前期需求分析文档进行系统原型设计,主要包括利用界面原型制作工具设计图形类的功能模块,利用既有项目案例,制作实际项目案例参考,其中包括自己公司已有和市场上已存在的。连同项目需求分析说明书交由项目经理审核,最终由项目经理、软件项目经理同用户完成原型的审核,最终形成第一次迭代开发的项目需求文档说明书。 详细设计:角色应包括软件项目经理、项目组全体成员,应形成软件概要设计、软件详细设计文档,该文档需提交项目组,主要是项目部,对设计是否符合用户需求进行评估。经多次修改与确认后形成最终的项目详细设计说明书文档(包括概要设计)。产物为:项目概要设计说明书,项目详细设计说明书文档。 原型开发:角色应包括软件开发人员,按照详细设计说明书进行原型开发;快速实现详细设计说明中的各项功能,细节问题放到二次或三次迭代时加入。内部测试完毕后交由测试部进行测试。 测试评审:角色应为测试部、项目组成员,测试只进行功能实现测试,不进行其他细节和边界条件等测试。测试通过后,交由项目组进行评审,修改。最后由项目经理、软件项目经理与用户就原型进行沟通,检验功能设计是否符合用户要求,用户是否还有其他需求。最后形成二次迭代开发新需求文档,到此一次迭代结束。 流程图如下: 实验一非线性方程的数值解法(一)信息与计算科学金融崔振威201002034031 一、实验目的: 熟悉二分法和简单迭代法的算法实现。 二、实验内容: 教材P40 2.1.5 三、实验要求 1 根据实验内容编写二分法和简单迭代法的算法实现 2 简单比较分析两种算法的误差 3 试构造不同的迭代格式,分析比较其收敛性 (一)、二分法程序: function ef=bisect(fx,xa,xb,n,delta) % fx是由方程转化的关于x的函数,有fx=0。 % xa 解区间上限 % xb 解区间下限 % n 最多循环步数,防止死循环。 %delta 为允许误差 x=xa;fa=eval(fx); x=xb;fb=eval(fx); disp(' [ n xa xb xc fc ]'); for i=1:n xc=(xa+xb)/2;x=xc;fc=eval(fx); X=[i,xa,xb,xc,fc]; disp(X), if fc*fa<0 xb=xc; else xa=xc; end if (xb-xa) k=0; while abs(x-x0)>eps & k 作业六:分别编写用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组Ax=B的标准程序,并求下列方程组的解。 可取初始向量 X(0) =(0,0,0)’; 迭代终止条件||x(k+1)-x(k)||<=10e-6 (1) = (2) = Jacobi迭代法: 流程图 开 始 判断b中的最大值 有没有比误差大 给x赋初值 进行迭代 求出x,弱到100次还没到,警告不收 结束 程序 clear;clc; A=[8,-1,1;2,10,01;1,1,-5]; b=[1;4;3]; e=1e-6; x0=[0;0;0]'; n=length(A); x=zeros(n,1); k=0; r=max(abs(b)); while r>e for i=1:n d=A(i,i); if abs(d) 程序结果(1) (2) Gauss-Seidel迭代法: 程序 clear;clc; %A=[8,-1,1;2,10,01;1,1,-5]; %b=[1;4;3]; A=[5,2,1;-1,4,2;2,-3,10]; b=[-12;20;3]; m=size(A); if m(1)~=m(2) error('矩阵A不是方阵'); end n=length(b); %初始化 N=0;%迭代次数 L=zeros(n);%分解A=D+L+U,D是对角阵,L是下三角阵,U是上三角阵U=zeros(n); D=zeros(n); G=zeros(n);%G=-inv(D+L)*U d=zeros(n,1);%d=inv(D+L)*b x=zeros(n,1); for i=1:n%初始化L和U for j=1:n if i 《结构动力学》大作业 结构大型特征值问题的求解 0810020035 吴亮秦 1振动系统的特征值问题 1.1实特征值问题 n 自由度无阻尼线性振动系统的运动微分方程可表示为: []{}[]{}()M u K u F t += (1.1) 其中,{}u 是位移向量,[]M 和[]K 分别是系统的质量矩阵和刚度矩阵,都是n 阶正定矩阵,()F t 是激励向量。 此系统的自由振动微分方程为 []{}[]{}0M u K u += (1.2) 设其主振型为: {}{}sin()u v t ω?=+ (1.3) 其中,{}v 为振幅向量,ω为圆频率,?为初相位。将(1.3)代入自由振动微分方程(1.2), 得: []{}[]{}K v M v λ= (1.4) 其中2 λω=,(1.4)具有非零解的条件是 ()[][]det 0M K λ-= (1.5) 式(1.4)称为系统的特征方程,由此可以确定方程的n 个正实根1{}n i i λ=,称为系统的特征值,1{}n i i ω=称为系统的固有频率,{}i v (i=1,2,…..n )为对应于特征值的特征向量或称为系统的振型或模态。 因为[]M 矩阵正定,则[]M 有Cholesky 分解: [][][]T M L L = (1.6) 其中,[]L 是下三角矩阵。引入向量{}x 满足:{}[]{}T x L v =,则: 1 {}([]){}T v L x -= (1.7) 代入(1.4),得: ([][]){}0I P x λ-= (1.8) 其中,( ) 1 1 [][][][] T P L K L --=,式(1.8)称为标准实特征值问题。 1.2复特征值问题 多自由度阻尼自由振动系统的运动方程为如下二阶常系数微分方程组: []{()}[]{()}[]{()}0 M x t C x t K x t ++= (1.9) 其中 []M ,[]C ,[]K 分别是n 阶的质量、阻尼和刚度矩阵,{()}q t 是n 维可微向量函数。用分离变量法,设{()}{}t x t e λφ=,其中{}φ是与时间t 无关的常向量,λ为待定参数。将 数值计算方法实验报告(五) 班级:地信10801 序号:姓名: 一、实验题目:jacobi迭代法和Gauss-Seidel迭代法 二、实验学时: 2学时 三、实验目的和要求: 1.掌握迭代法的基础原理。 2.掌握jacobi迭代法和Gauss-Seidel迭代法的步骤。 3.能用程序语言对jacobi迭代法和Gauss-Seidel迭代法进行编程实现。 四、实验过程代码及结果 1、代码: #include for(int i=1;i<=N;i++) { float sum=0; for(int j=1;j<=N;j++) if(i!=j)sum+=xk[j]*a[i][j]; x[i]=(a[i][N+1]-sum)/a[i][i]; if(fabs(x[i]-xk[i]) 迭代法解线性方程组作业 沈欢00986096 北京大学工学院,北京100871 2011年10月12日 摘要 由所给矩阵生成系数矩阵A和右端项b,分析系数矩阵A,并用Jacobi迭代法、GS迭代法、SOR(逐步松弛迭代法)解方程组Ax=b 1生成系数矩阵A、右端项b,并分析矩阵A 由文件”gr900900c rg.mm”得到了以.mm格式描述的系数矩阵A。A矩阵是900?900的大型稀 疏对称矩阵。于是,在matlaB中,使用”A=zeros(900,900)”语句生成900?900的零矩阵。再 按照.mm文件中的描述,分别对第i行、第j列的元素赋对应的值,就生成了系数矩阵A,并 将A存为.mat文件以便之后应用。 由于右端项是全为1的列向量,所以由语句”b=ones(900,1)”生成。 得到了矩阵A后,求其行列式,使用函数”det(A)”,求得结果为”Inf”,证明行列式太大,matlaB无法显示。由此证明,矩阵A可逆,线性方程组 Ax=b 有唯一解。 接着,判断A矩阵是否是对称矩阵(其实,这步是没有必要的,因为A矩阵本身是对称矩阵,是.mm格式中的矩阵按对称阵生成的)。如果A是对称矩阵,那么 A?A T=0 。于是,令B=A?A T,并对B求∞范数。结果显示: B ∞=0,所以,B是零矩阵,也就是:A是对称矩阵。 然后,求A的三个条件数: Cond(A)= A ? A?1 所求结果是,对应于1范数的条件数为:377.2334;对应于2范数的条件数为:194.5739;对应 于3范数的条件数为:377.2334; 1 从以上结果我们看出,A是可逆矩阵,但是A的条件数很大,所以,Ax=b有唯一解并且矩阵A相对不稳定。所以,我们可以用迭代方法来求解该线性方程组,但是由于A的条件数太大迭代次数一般而言会比较多。 2Jacobi迭代法 Jacobi迭代方法的程序流程图如图所示: 图1:Jacobi迭代方法程序流程图 在上述流程中,取x0=[1,1,...,1]T将精度设为accuracy=10?3,需要误差满足: error= x k+1?x k x k+1 本科生实验报告 实验课程数值计算方法 学院名称信息科学与技术学院 专业名称计算机科学与技术 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一六年五月二〇一六年五月 实验一非线性方程求根 1.1问题描述 实验目的:掌握非线性方程求根的基本步骤及方法,。 实验内容:试分别用二分法、简单迭代法、Newton迭代法、弦截法(割线法、双点弦法),求x5-3x3+x-1= 0 在区间[-8,8]上的全部实根,误差限为10-6。 要求:讨论求解的全过程,对所用算法的局部收敛性,优缺点等作分析及比较, 第2章算法思想 2.1二分法 思想:在函数的单调有根区间内,将有根区间不断的二分,寻找方程的解。 步骤: 1.取中点mid=(x0+x1)/2 2.若f(mid)=0,则mid为方程的根,否则比较与两端的符号,若与f(x0) 异号,则根在[x0,mid]之间,否则在[mid,x1]之间。 3并重复上述步骤,直达达到精度要求,则mid为方程的近似解。 2.2 简单迭代法 思想:迭代法是一种逐次逼近的方法,它是固定公式反复校正跟的近似值,使之逐步精确,最后得到精度要求的结果。 步骤:1.构造迭代公式f(x),迭代公式必须是收敛的。 2.计算x1,x1=f(x0). 3.判断|x1-x0|是否满足精度要求,如不满足则重复上述步骤。 4.输出x1,即为方程的近似解。 f为迭代函数 2.3 Newton迭代法 思想:设r 是的根,选取作为r的初始近似值,过点 做曲线 的切线L,L 的方程为,求出L与x轴交点的 横坐标,称x 1 为r的一次近似值。过点做曲线 的切线,并求该切线与x 轴交点的横坐标,称为r的二次近似值。重复以上过程,得r 的近似值序列,其中,称为r 的 次近似值 步骤:1.计算原函数的导数f’(x);构造牛顿迭代公式 2.计算 ,若f’(x0)=0,退出计算,否则继续向下迭代。 3.若|x1-x0|满足精度要求,x1即为方程的近似解。 4.3多项式方法求特征值问题 4.3.1 F-L 方法求多项式系数 我们知道,求n 阶方阵A 的特征值就是求代数方程 0||)(=-=I A λλ? (4.3.1) 的根。)(λ?称为A 的特征多项式。上式展开为 n n n n p p p ++++=--.....)(2211λλλλ? (4.3.2) 其中n p p p ,...,21为多项式)(λ?的系数。 从理论上讲,求A 的特征值可分为两步: 第一步 直接展开行列式|I A λ-|求出多项式)(λ?; 第二步 求代数方程0)(=x ?的根,即特征值。 《 对于低阶矩阵,这种方法是可行的。但对于高阶矩阵,计算量则很大,这种方法是不适用的。这里我们介绍用F-L (Faddeev-Leverrier )方法求特征方程(4.3.2)中多项式)(λ?的系数。由于代数方程求根问题在第2章中已经介绍,所以本节中解决特征值问题的关键是确定矩阵A 的特征多项式)(λ?,所以称这种方法为多项式方法求特征值问题。 记矩阵A=n n ij a ?)(的对角线元素之和为 nn a a a trA +++=...2211 (4.3.3) 利用递归的概念定义以下n 个矩阵:),....,2,1(n k B k = ???????????????-=-=-=-==----),(................),(...............),(),(,11112231121I p B A B I p B A B I p B A B I p B A B A B n n n k k k n n k k trB n p trB k p trB p trB p trB p 11312133221 1===== (4.3.4) 可以证明,(4.3.4)式中,,...,2,1,n k p k =即是所求A 的特征多项式)(λ?的各系数。用()式求矩阵的特征多项式系数的方法称为F-L 方法。相应特征方程为: 0).....()1(2211=-------n n n n n p p p λλλ (4.3.5) 而且可证矩阵A 的逆矩阵可表示为 )(1111I p B p A n n n ----= (4.3.6) ? 例1 求矩阵 ??????????=324202423A 程序算法描述流程图 程序算法描述流程图 算法的方法 递推法 递推是序列计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机前面的一些项来得出序列中的指定项的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。 递归法 程序调用自身的编程技巧称为递归(recursion)。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 注意: (1) 递归就是在过程或函数里调用自身; (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。 穷举法 穷举法,或称为暴力破解法,其基本思路是:对于要解决的问题,列举出它的所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解。它也常用于对于密码的破译,即将密码进行逐个推算直到找出真正的密码为止。例如一个 已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间。因此有些人运用计算机来增加效率,有些人辅以字典来缩小密码组合的范围。 贪心算法 贪心算法是一种对某些求最优解问题的更简单、更迅速的设计技术。 用贪心法设计算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不考虑各种可能的整体情况,它省去了为找最优解要穷尽所有可能而必须耗费的大量时间,它采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题, 通过每一步贪心选择,可得到问题的一个最优解,虽然每一步上都要保证能获得局部最优解,但由此产生的全局解有时不一定是最优的,所以贪婪法不要回溯。 贪婪算法是一种改进了的分级处理方法,其核心是根据题意选取一种量度标准,然后将这多个输入排成这种量度标准所要求的顺序,按这种顺序一次输入一个量,如果这个输入和当前已构成在这种量度意义下的部分最佳解加在一起不能产生一个可行解,则不把此输入加到这部分解中。这种能够得到某种量度意义下最优解的分级处理方法称为贪婪算法。 对于一个给定的问题,往往可能有好几种量度标准。初看起来,这些量度标准似乎都是可取的,但实际上,用其中的大多数量度标准作贪婪处理所得到该量度意义下的最优解并不是问题的最优解,而是次优解。因此,选择能产生问题最优解的最优量度标准是使用贪婪算法的核心。 一般情况下,要选出最优量度标准并不是一件容易的事,但对某问题能选择出最优量度标准后,用贪婪算法求解则特别有效。 特征值和特征向量的性质与求法 方磊 (陕理工理工学院(数学系)数学与应用数学专业071班级,陕西汉中 723000)” 指导老师:周亚兰 [摘要] :本文主要给出了矩阵特征值与特征向量的几个性质及特征值、特征向量的几种简单求法。 [关键词]:矩阵线性变换特征值特征向量 1 特征值与特征向量的定义及性质 定义1:(ⅰ)设A 是数域p 上的n 阶矩阵,则多项式|λE-A|称A 的特征多项式,则它在 c 上的根称为A 的特征值。 (ⅱ)若λ是A 的特征值,则齐次线性方程组(λE-A) X =0的非零解,称为A 的属于特征值λ的特征向量。 定义2:设α是数域P 上线性空间v 的一个线性变换,如果对于数域P 中的一数0λ存在一个非零向量ξ,使得a ξ=0λξ,那么0λ 成为α的一个特征值而ξ称为α的属于特征值0λ的一个特征向量。 性质1: 若λ为A 的特征值,且A 可逆,则0≠λ、则1-λ 为1-A 的特征知值。 证明: 设n λλλ 21为A 的特征值,则A =n λλλ 21ο≠ ∴λi≠0(i=1、2…n) 设A 的属于λ的特征向量为ξ 则ξλξi =?A 则λ1 -A ξ=ξ即有 1 -A ξ=1 -λ ξ ∴1 -λ 为1 -A 的特征值,由于A 最多只有n 个特征值 ∴1 -λ 为1 -A ξ的特征值 性质2:若λ为A 的特征值,则()f λ为()f A 的特征值 ()χf =n n a χ +1 0111 1x a x a x a n n +++-- 证明:设ξ为A 的属于λ的特征向量,则A ξ=λξ ∴ ()A f ξ=(n n A a +E a A a A a n n 011 1+++-- )ξ = n n A a ξ+ 1 1--n n A a ξ+… +E a 0 ξ =n n a λξ+1 1--n n a λ+…+E 0a ξ =()λf ξ 又ξ≠0 ∴ ()λf 是()A f 的特征值 性质3:n 阶矩阵A 的每一行元素之和为a ,则a 一定是A 的特征值 《数值计算方法》实验报告 实验名称:实验1 非线性方程的简单迭代法和Steffensen 迭代法 实验题目:分别用简单迭代法和Steffensen 迭代法求方程 010423=-+x x 在 [1, 2] 内的一个实根. 实验目的:理解并掌握简单迭代法和Steffensen 迭代法 基础理论:简单迭代法和Steffensen 迭代法 1).简单迭代法的原理:将一元非线性方程:0)(=x f 改写成等价方程:)(x x ρ= ,对此,从某个初始值x0开始,对应式)(x x ρ= 构成迭代公式 ,...1,0),(1==+k x x k k ρ ,这样就可以确定序列 {}k x (k=0,1,2…)。如果 {}k x 有极限 *lim x x k k =∞→ ,由式 ,...1,0),(1==+k x x k k ρ 两边取极限可得 )(**x x ρ= ,可知 * x 为方程0)(=x f 的近似解。 2)Steffensen 迭代法的原理: 通过把改进的Aitken 方法应用于根据不动点迭代所得到的线性收敛序列,将收敛速度加速到二阶。 ()???? ?????+---===+k k k k k k k k k k k x y z x y x x y z x y 2) ()(21ρρ []x x x x x x x +---=)(2)(()()(2ρρρρψ 实验环境:操作系统:Windows 7; 实验平台:Turbo C++ 实验过程:写出算法→编写程序→调试运行程序→计算结果 1)简单迭代法的算法: Input:初始近似值x0,精度要求del,最大迭代次数N Output:近似解x 或失败信息 1. n ←1 2. While n ≤N do; 3. x ←f(x0); 4. if | x-x0| 雅可比迭代法求解线性方程组的实验报告 一、实验题目 分别利用雅可比迭代法和高斯-塞德尔迭代法求解以下线性方程组: 使得误差不超过 0.00001。 二、实验引言 1.实验目的 ①掌握用迭代法求解线性方程组的基本思想和步骤,熟悉计算机fortran 语言; ②了解雅可比迭代法在求解方程组过程中的优缺点。 2.实验意义 雅克比迭代法就是众多迭代法中比较早且较简单的一种,求解方便实用。 三、算法设计 1.雅可比迭代法原理: 设有线性方程组Ax=b 满足0≠ii a , 将方程组变形为: x=Bx+f, 则雅可比 (Jacobi)迭代法是指f Bx X k k +=+)1(,即 由初始解逐步迭代即可得到方程组的解。 算法步骤如下: ?????=+--=-+-=--2.453.82102.7210321 321321x x x x x x x x x 步骤1.给定初始值)0()0(2)0(1,,,n x x x ?,精度e,最大容许迭代次数M ,令k=1。 步骤2.对i=1,2,…,n 依次计算 )0()1()0()1(11| |) n ,2,1,0(/)(i i i i i ii ii j n i j j ij j x x x x e i a a x a b x →-=?=≠-=∑≠=, 步骤3.求出}{max 1i n i e e ≤≤=,若ε 四、程序设计program jacobi implicit none integer::i,j integer::k save k real,parameter::e=0.001 integer,parameter::n=3 real::x(n),y(n),b(n) 求矩阵特征值算法及程序简介 1.幂法 1、幂法规范化算法 (1)输入矩阵A 、初始向量)0(μ ,误差eps ; (2)1?k ; (3)计算)1()(-?k k A V μ; (4))max (,) max ()1(1)(--??k k k k V m V m ; (5)k k k m V /)()(?μ; (6)如果eps m m k k <--1,则显示特征值1λ和对应的特征向量)1(x ),终止; (7)1+?k k ,转(3) 注:如上算法中的符号)max(V 表示取向量V 中绝对值最大的分量。本算法使用了数据规范化处理技术以防止计算过程中出现益出错误。 2、规范化幂法程序 Clear[a,u,x]; a=Input["系数矩阵A="]; u=Input["初始迭代向量u(0)="]; n=Length[u]; eps=Input["误差精度eps ="]; nmax=Input["迭代允许最大次数nmax="]; fmax[x_]:=Module[{m=0,m1,m2}, Do[m1=Abs[x[[k]]]; If[m1>m,m2=x[[k]];m=m1], {k,1,Length[x]}]; m2] v=a.u; m0=fmax[u]; m1=fmax[v]; t=Abs[m1-m0]//N; k=0; While[t>eps&&k m0=m1; m1=fmax[v]; t=Abs[m1-m0]//N; Print["k=",k," 特征值=",N[m1,10]," 误差=",N[t,10]]; Print[" 特征向量=",N[u,10]]]; If[k ≥nmax,Print["迭代超限"]] 说明:本程序用于求矩阵A 按模最大的特征值及其相应特征向量。程序执行后,先通过键盘输入矩阵A 、迭代初值向量)0(μ、精度控制eps 和迭代允许最大次数max n ,程序即可给出每次迭代的次数和对应的迭代特征值、特征向量及误差序列,它们都按10位有效数输出。其中最后输出的结果即为所求的特征值和特征向量序列。如果迭代超出max n 次还没有求出满足精度的根则输出迭代超限提示,此时可以根据输出序列判别收敛情况。 程序中变量说明 a:存放矩阵A ; u:初始向量)0(μ和迭代过程中的向量)(k μ及所求特征向量; v:存放迭代过程中的向量)(k V ; m1:存放所求特征值和迭代过程中的近似特征值; nmax:存放迭代允许的最大次数; eps:存放误差精度; fmax[x]: 给出向量x 中绝对值最大的分量; k:记录迭代次数; t1:临时变量; 注:迭代最大次数可以修改为其他数字。 3、例题与实验 例1. 用幂法求矩阵???? ? ??---=9068846544 1356133A 的按模最大的特征值及其相应特征向量,要求误差410- 题目:高斯-赛德尔迭代法的算法及程序设计 摘要 本文通过理论与实例对线性方程组的解法、收敛性及误差分析进行了探讨.在对线性方程组数值解法的讨论下用到了高斯-赛德尔迭代法,进一步研究和总结了高斯-赛德尔迭代法的理论与应用,使我们在分析问题与编辑程序时能更好的把握对高斯-赛德尔迭代法的应用。 关键词 Gauss-Seidel迭代法;收敛性;误差分析;流程图;Mathematica编程 目录 第一章高斯-赛德尔迭代法 (1) §1.1 高斯-赛德尔迭代法的提出 (1) §1.1.1 高斯-赛德尔迭代法的思想理论 (1) §1.1.2 高斯-赛德尔迭代法的定义及表达形式 (2) §1.2 高斯-赛德尔迭代法的收敛性 (1) §1.3 高斯-赛德尔迭代法的误差分析 (1) 第二章高斯-赛德尔迭代法的程序设计 (1) §2.1 高斯-赛德尔迭代法在上机中的应用 (1) §2.1.1 高斯-赛德尔迭代法的流程图 (1) §2.1.2 高斯-赛德尔迭代法的源程序 (1) 参考文献 (22) 附录 (23) 第一章 高斯-赛德尔迭代法 考虑线性方程组 Ax b = 其中为非奇A 异矩阵,对于由工程技术中产生的大型稀疏矩阵方程组(A 的阶数很大n 但零元素很多),利用迭代法求解线性方程组是合适Ax b =的.在计算机内存和运算两方面,迭代法通常都可利用中A 有大量零元素的特点. 本章将介绍迭代法中的高斯-赛德尔法的思想理论、收敛性及误差分析. §1.1 高斯-赛德尔迭代法的提出 §1.1.1 高斯-赛德尔迭代法的思想理论 在研究雅可比迭代法时,计算1k i x +时,已得(1)(1) (1) 12 1 ,,,k k k i x x x +++-(这些分别为121,,,i x x x -的第k+1次近似),Gauss-Seidel 迭代法认为在计算时启用新值,从而产 生 1(1) (1) ()11 1()i n k k k i i ij j ij j j j i ii x b a x a x a -++==+=--∑∑. 具体原理如下图所示 ()k x →→→软件迭代开发流程
二分法、简单迭代法的matlab代码实现教学文案
数值分析5-用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组
特征值解法
jacobi迭代法和Gauss-Seidel迭代法
迭代法解线性方程组
数值计算(二分法、简单迭代法、Newton迭代法、弦截法(割线法、双点弦法))资料
43多项式方法求特征值问题
程序算法描述流程图.doc
特征值和特征向量的性质与求法
非线性方程的简单迭代法和Steffensen迭代法
雅可比迭代实验报告
求矩阵特征值算法及程序
高斯-赛德尔迭代法的算法及程序设计