计算方法大作业----------雅可比
雅克比矩阵(Jacobi).
雅可比矩阵(Jacobi方法)Jacobi 方法Jacobi方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论1) 任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得Q T AQ = diag(λ1 ,λ2,…,λn) (3.1)其中λi(i=1,2,…,n)是A的特征值,Q中各列为相应的特征向量。
2) 在正交相似变换下,矩阵元素的平方和不变。
即设A=(aij )n×n,Q交矩阵,记B=Q T AQ=(bij )n×n, 则Jacobi方法的基本思想是通过一次正交变换,将A中的一对非零的非对角化成零并且使得非对角元素的平方和减小。
反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于零,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。
1 矩阵的旋转变换设A为n阶实对称矩阵,考虑矩阵易见 Vij(φ)是正交矩阵, 记注意到B=VijA的第i,j行元素以及的第i,j列元素为可得≠0,取φ使得则有如果aij对A(1)重复上述的过程,可得A(2) ,这样继续下去, 得到一个矩阵序列{A(k) }。
可以证明,虽然这种变换不一定能使矩阵中非对角元素零元素的个数单调增加,但可以保证非对角元素的平方和递减,我们以A与A(1)为例进行讨论。
设由式(3.4)可得这表明,在上述旋转变换下,非对角元素的平方和严格单调递减,因而由(3.2)可知,对角元素的平方和单调增加。
2. Jacobi方法通过一系列旋转变换将A变成A(k+1) ,求得A的全部特征值与特征向量的方法称为Jacobi方法。
计算过程如下1)令k=0, A(k) =A2) 求整数i,j, 使得3) 计算旋转矩阵4) 计算A(k+1)5) 计算6) 若E(A(k+1))<ε, 则为特征值,Q T = (V(0) V(1)…V(k+1))T的各列为相应的特征向量;否则,k+1=>k返回2,重复上述过程。
计算方法大作业作业((北京科技大学研究生结课考试)
《计算方法》平时作业(2010-2011学年第一学期)学 院:_________________________ 专 业:_________________________ 姓 名:_________________________ 学 号:_________________________ 联 系 方 式:_________________________机研111班机械工程学院作业(考试前交, 给出证明或计算过程、计算程序及计算结果) 1. 对向量()12Tn x x x x = 定义1211,max ,nk k k nk x x xx x ∞≤≤====∑设A 是n n ⨯矩阵,规定1111max x A Ax ==,1max x A Ax ∞∞∞==,2221max x A Ax ==证明111112max (),max (),.n nkj jk j nj nk k T A a A a A A A λ∞≤≤≤≤=====∑∑列范数行范数是最大特征值证明:1) 证明111||||max||nijj n i A a≤≤==∑1111111111||||max ||max ||||max ||||||max ||nnn nij iiji ij ij j nj nj nj ni i i i AX a x ax a x a ≤≤≤≤≤≤≤≤=====≤≤=∑∑∑∑所以 111||||111||||max ||||max||nijx j ni A Ax a=≤≤==≤∑设 1111max||||,1,0,1,0,||||1,nnijip i ip i ip j ni i aa x a x a x ≤≤====≥=-<=∑∑取若取若则11||n nip i ip i i a x a ===∑∑且。
因此,1111111||||max ||||||max ||n nn nij i ip iip ij j nj ni i i i Ax a x ax a a ≤≤≤≤=====≥==∑∑∑∑即 111||||111||||max ||||max||nijx j ni A Ax a=≤≤==≥∑ 则 111||||m a x ||nij j ni A a ≤≤==∑2)证明11||||max||niji n j A a∞≤≤==∑11111111||||m a x ||m a x ||||m a x ||||||m a x||nnnni j j i j j i j i j i ni ni ni nj j j j A X a x a x a x a ∞∞≤≤≤≤≤≤≤≤=====≤≤=∑∑∑∑ 所以 ||||111||||m a x ||||m a x ||nij x i n j A Ax a ∞∞∞=≤≤==≤∑设 111max||||,1,0,1,0,||||1,nnijpj j pj j pj i nj j aa x a x a x ∞≤≤====≥=-<=∑∑取若取若则11||nn pj j pj j j a a ===∑∑且。
直接用坐标变换求解雅可比矩阵的例子1
3、工作空间
重要结论: * 对于关节型操作器而言,如果各连杆长度相等,而腕部连杆的长度设
计的尽可能短的话,其工作空间的形状和尺寸则可以大大改善; * 人的手臂:
可达到的工作空间
机器人末端执行器至少可在一个方位上能达到的空间范围。
灵活的工作空间
机器人末端执行器在所有方位上均能达到的空间范围。 二.平面两连杆关节型操作器
1、正向运动学问题
加速度 、 。 位置分析
已知各关节的位置坐标 、 和其各阶导数 、 (关节速度)和 、 (关节加速度),求操
作器臂端 B 点的位置 、 、 ,速度 、 和
灵活工作空间
* 在圆心点,末端执行器可获得任意姿态。 平面三连杆关节型操作器 1、正向运动学问题
已知操作器各连杆长度 、 、 ;各关节的位置坐标 、 、 ;关 节速度 、 、 ,求操作器臂端末端执行器的位置坐标 、 和姿态角 。
位置分析 速度分析
雅可比矩阵:
操作器臂端 B 点的加速度,可通过对速度方程式两边对时间再次求导得 到。 2、反向运动学问题
参数 、 ;运动参数 、 (关节速度)和 、
*如果不满足约束条件,说明给定的臂端目标位置过远,已超出了该操作 器的工作空间。
则 *既可保证求出所有的解,又保证了求出的角度在正确的象限内。
* 角可在任一象限内,它取决与 、 的符号。
故 则
速度分析
•
“+”: <0 时; “-”: >0 时
* 操作器各关节的速度,可通过其雅可比矩阵的逆矩阵和给定的操作器 臂端的直角坐标系中的速度求得。
计算方法大作业
计算方法大作业班级XXXXXX 学号XXXXXXX 任课老师贺力平姓名XXX2013年12月实验一幂法与矩阵特征值1.幂法求主特征值思路幂法的主要思想就是对假设的任意初始列向量作用n次A矩阵(左乘A矩阵)后,初始向量就接近A矩阵的主特征值对应的特征向量。
由于左乘n次A矩阵有可能会造成计算量溢出,所以每次都对列向量作归一化处理。
2.程序代码function [ ] = mifa( A,v )%UNTITLED Summary of this function goes here % Detailed explanation goes hereA =[ 1 21 2 334 5 2 154 2 6 42 2 59 0];v=[1 1 1 1]';u(:,1)=v(:,1);fori=1:100v(:,i+1)=A*u(:,i);if abs(max(v(:,i+1))-max(v(:,i)))<10^-4breakendu(:,i+1)=v(:,i+1)/max(v(:,i+1));enddisp(u(:,i));disp(max(v(:,i)));k=u(:,i)'*A*u(:,i)/(u(:,i)'*u(:,i));disp(k);[x,c]=eig(A);disp(c);disp(x);disp(i);end3.结果比较和结论初始矩阵A =[ 1 21 2 334 5 2 154 2 6 42 2 59 0];初始向量v=[1 1 1 1]';幂法求得特征向量12.514714.914025.693539.6330归一化后特征向量0.31580.37630.64831.0000列向量最大值近似主特征值39.6330Rayleigh商求出主特征值39.6330用eig()函数算出的特征值和特征向量39.6331 0 0 00 -18.2401 + 7.4985i 0 00 0 -18.2401 - 7.4985i 00 0 0 8.8471-0.2450 -0.0471 + 0.0965i -0.0471 - 0.0965i -0.0574 -0.2919 0.1147 - 0.0939i 0.1147 + 0.0939i -0.1747 -0.5029 0.2862 - 0.1187i 0.2862 + 0.1187i 0.1535 -0.7758 -0.9330 -0.9330 0.9709 达到精度要求所需次数:17结论:可以看出初始列向量经过多次迭代后,用幂法求出的特征值和用eig()函数求出的A的特征值,满足计算精度在,并且特征向量也具有数乘关系。
雅可比方法
第二节 雅可比方法雅可比方法是用来计算实对称矩阵A 的全部特征值及其相应特征向量的一种变换方法.在介绍雅可比方法之前,先介绍方法中需要用到的线性代数知识与平面上的旋转变换.一 预备知识(1) 如果n 阶方阵A 满足()A A I A A T ==-1即则称A 为正交阵.(2) 设A 是n 阶实对称矩阵,则A 的特征值都是实数,并且有互相正交的n 个特征向量.(3) 相似矩阵具有相同的特征值.(4) 设A 是n 阶实对称矩阵,P 为n 阶正交阵,则AP P B T =也是对称矩阵.(5) n 阶正交矩阵的乘积是正交矩阵.(6) 设A 是n 阶实对称矩阵,则必有正交矩阵P ,使∧=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n T AP P λλλ 21 (1)其中Λ的对角线元素的是A 的n 个特征值,正交阵P 的第i 列是A 的对应于特征值i λ的特征向量.由(6)可知,对于任意的n 阶实对称矩阵A ,只要能求得一个正交阵P ,使Λ=AP P T (Λ为对角阵),则可得到A 的全部特征值及其相应的特征向量,这就是雅可比方法的理论基础.二 旋转变换设⎥⎦⎤⎢⎣⎡=22211211a a a aA 为二阶实对称矩阵,即2112a a =.因为实对称矩阵与二次型是一一对应的,设A 对应的二次型为()222221122111212x a x x a x a x ,x f ++= (2)由解析几何知识知道,方程()C x ,x f =21表示在21x ,x 平面上的一条二次曲线.如果将坐标轴21Ox ,Ox 旋转一个角度θ,使得旋转后的坐标轴21Oy ,Oy 与该二次曲线的主轴重合,如图4-1所示,则在新的坐标系中,二次曲线的方程就化成C y y =+222211λλ (3) 这个变换就是⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡2121y y cos sin sin cos x x θθθθ (4)变换(4)把坐标轴进行旋转,所以称为旋转变换.其中⎥⎦⎤⎢⎣⎡-=θθθθcos sin sin cos P (5) 称为平面旋转矩阵。
用雅克比迭代法和高斯-赛德迭代法解方程组
解:由x=[1;2;3],算出b=[-3; 7;6]知:X1=(2*X3-3)/3X2=(-X3+7)/2X3=(2X1-X2+6)/21.雅克比法:X1(1)=0;X2(1)=0;X3(1)=0;for i=1:50X1(i+1)= (2*X3(i)-3)/3;X2(i+1)=(-X3(i)+7)/2;X3(i+1)=(2*X1(i)-X2(i)+6)/2;End迭代50次结果如下:X1 =Columns 1 through 110 -1.0000 1.0000 -0.8333 1.0000 -0.6806 1.0000 -0.5405 1.0000 -0.4121 1.0000Columns 12 through 22-0.2945 1.0000 -0.1866 1.0000 -0.0877 1.0000 0.0029 1.0000 0.0860 1.0000 0.1622Columns 23 through 331.0000 0.2320 1.0000 0.2960 1.0000 0.3547 1.0000 0.4085 1.0000 0.4577 1.0000Columns 34 through 440.5029 1.0000 0.5444 1.0000 0.5823 1.0000 0.61711.0000 0.6490 1.0000 0.6783Columns 45 through 511.0000 0.7051 1.0000 0.7297 1.0000 0.7522 1.0000X2 =Columns 1 through 110 3.5000 2.0000 3.3750 2.0000 3.2604 2.0000 3.1554 2.0000 3.0591 2.0000Columns 12 through 222.9708 2.0000 2.8899 2.0000 2.8158 2.0000 2.7478 2.0000 2.6855 2.0000 2.6284Columns 23 through 332.0000 2.5760 2.0000 2.5280 2.0000 2.4840 2.0000 2.4437 2.0000 2.4067 2.0000Columns 34 through 442.3728 2.0000 2.3417 2.0000 2.3133 2.0000 2.2871 2.0000 2.2632 2.0000 2.2413Columns 45 through 512.0000 2.2212 2.0000 2.2027 2.0000 2.1859 2.0000X3 =Columns 1 through 110 3.0000 0.2500 3.0000 0.4792 3.0000 0.6892 3.0000 0.8818 3.0000 1.0583Columns 12 through 223.0000 1.2201 3.0000 1.3684 3.0000 1.5044 3.0000 1.6290 3.0000 1.7433 3.0000Columns 23 through 331.8480 3.0000 1.9440 3.00002.03203.0000 2.1127 3.0000 2.1866 3.0000 2.2544Columns 34 through 443.0000 2.3165 3.0000 2.3735 3.0000 2.4257 3.0000 2.4736 3.0000 2.5174 3.0000Columns 45 through 512.55763.0000 2.5945 3.0000 2.6283 3.0000 2.6593 2.高斯-赛德法:XX1(1)=0;XX2(1)=0;XX3(1)=0;for i=1:50XX1(i+1)= (2*X3(i)-3)/3;XX2(i+1)=(-X3(i)+7)/2;XX3(i+1)=(2*X1(i+1)-X2(i+1)+6)/2;End迭代50次结果如下:X1 =Columns 1 through 110 -1.0000 1.0000 -0.8333 1.0000 -0.6806 1.0000 -0.5405 1.0000 -0.4121 1.0000Columns 12 through 22-0.2945 1.0000 -0.1866 1.0000 -0.0877 1.0000 0.0029 1.0000 0.0860 1.0000 0.1622Columns 23 through 331.0000 0.2320 1.0000 0.2960 1.0000 0.3547 1.0000 0.4085 1.0000 0.4577 1.0000Columns 34 through 440.5029 1.0000 0.5444 1.0000 0.5823 1.0000 0.61711.0000 0.6490 1.0000 0.6783Columns 45 through 511.0000 0.7051 1.0000 0.7297 1.0000 0.7522 1.0000X2 =Columns 1 through 110 3.5000 2.0000 3.3750 2.0000 3.2604 2.0000 3.1554 2.0000 3.0591 2.0000Columns 12 through 222.9708 2.0000 2.8899 2.0000 2.8158 2.0000 2.7478 2.0000 2.6855 2.0000 2.6284Columns 23 through 332.0000 2.5760 2.0000 2.5280 2.0000 2.4840 2.0000 2.4437 2.0000 2.4067 2.0000Columns 34 through 442.3728 2.0000 2.3417 2.0000 2.3133 2.0000 2.2871 2.0000 2.2632 2.0000 2.2413Columns 45 through 512.0000 2.2212 2.0000 2.2027 2.0000 2.1859 2.0000X3 =Columns 1 through 110 3.0000 0.2500 3.0000 0.4792 3.0000 0.6892 3.0000 0.8818 3.0000 1.0583Columns 12 through 223.0000 1.2201 3.0000 1.3684 3.0000 1.5044 3.0000 1.6290 3.0000 1.7433 3.0000Columns 23 through 331.8480 3.0000 1.9440 3.00002.03203.0000 2.1127 3.0000 2.1866 3.0000 2.2544Columns 34 through 443.0000 2.3165 3.0000 2.3735 3.0000 2.4257 3.0000 2.4736 3.0000 2.5174 3.0000Columns 45 through 512.55763.0000 2.5945 3.0000 2.6283 3.0000 2.6593结果分析:从上面的雅可比迭代法和高斯—赛德尔迭代法这两种方法所得的实验结果可知,对于同样的矩阵,对于同样的精度,雅可比迭代法要比高斯-赛德尔迭代法慢。
计算方法大作业
计算方法大作业
1、试探法证明方程0128423=++-x x x 有三个实根,并确定三个根所在区间(区间长度不超过1).
2、方程0123=--x x 在5.10=x 附近有根, 将方程作三种改写,可得三种迭代式: (1) 21211,11k
k x x x x +=+=+; (2) 321231,1k k x x x x +=+=+; (3) 11,1112-=-=+x x x x k .
判断各迭代式在5.10=x 附近的收敛性;选一种收敛最快的迭代式,计算5.10=x 附近的根,准确的4位小数.
3、用牛顿法于方程0n x a -=和1/0n a x -=
的迭代公式。
已知0 1.3x ≈=,问用这种迭代公式迭代一、二次能得几位小数准确的近似值(已
1.31607401=⋅⋅⋅)?
4、用雅可比迭代法与赛德尔迭代法解方程组 ⎪⎩⎪⎨⎧=-+=+-=++-7416518321
321321x x x x x x x x x ,取初值T x )0,0,0()0(=,准确到两位小数。
5、设有方程组
⎪⎩⎪⎨⎧=++=++=++.251084,118104,134410321
321321x x x x x x x x x ,写出雅可比迭代、赛德尔、2.1=ω的SOR 迭代算式。
三种迭代是否收敛?为什么?
6、设有方程组1231231231.25 3.6912.370.58,10.019.050.12 1.43,1.22 4.33 2.76 3.22.x x x x x x x x x --=⎧⎪-++=⎨⎪-+=⎩
写出收敛的迭代格式,说明收敛的理由。
雅可比行列式的计算方法
雅可比行列式的计算方法雅可比行列式是线性代数中非常重要的一个概念,在求解方程组、区域的面积和体积等问题中都有广泛的应用。
它是由德国数学家卡尔·雅可比在19世纪中叶提出的,是一个以一组$n$个$n$元一次方程为系数的$n$元一次方程组的行列式为代表的函数。
本文将介绍雅可比行列式的计算方法及其应用。
一、雅可比行列式的定义假设有一组$n$个$n$元一次方程:$$\begin{cases}a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1, \\a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2, \\\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots \\ a_{n1}x_1+a_{n2}x_2+\cdots+a_{nn}x_n=b_n,\end{cases}$$其中$a_{ij}(i,j=1,2,\cdots,n)$和$b_i(i=1,2,\cdots,n)$都是已知的实数或复数。
则我们可以构造出一个$n$阶行列式,即雅可比行列式:$$D=\begin{vmatrix}a_{11} & a_{12} & \cdots & a_{1n} \\a_{21} & a_{22} & \cdots & a_{2n} \\\vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \\\end{vmatrix}$$二、求解雅可比行列式的方法1. 拉普拉斯展开法拉普拉斯展开法是求解行列式的一种基本方法。
对于$n$阶矩阵$A$的行列式$D(A)$,我们可以通过对其中一行或一列进行展开,得到$n-1$阶子行列式,然后继续对子行列式进行展开,直至得到$n$个元素的代数和,即$D(A)$的值。
偏微分方程数值解大作业 有限差分方法
偏微分方程数值解 第一次大作业0 问题重述求解边值问题:2()2(sin cos cos sin ),(,)(0,1)(0,1)0,(,)x y u e x y x y x y G u x y Gππππππ+∆=+∈=⨯=∈∂其精确解为()(x,y)sin sin x y u e x y πππ+=+——分别取步长h=1/64,1/128,做五点差分格式,用雅可比方法,高斯赛德尔方法和共轭梯度法解差分方程,并比较精度与迭代步数1 方程的导出设在x ,y 方向均取N 个网格,步长h=1/N 。
对拉普拉斯算子中的二阶导数项用二阶中心差商代替,离散化后得到逼近该问题的差分方程:21,,11,,1,,,1(),,1,2,...,1440,,0 ,i j i j i j i j i j i j i j h u u u u u f i j N u i j or i j N--+++++-==-=== 其中:2(),2(sin cos cos sin )ih jh i j f eih jh ih jh ππππππ+=+这样,便得到了相应的差分方程,理论上已经可以通过求解线性方程组进行解的数值逼近2 代数方程组的构建问题已经转化为构建并求解如上所示的(N-1)X (N-1)维的线性方程组。
这里我们首先将空间网格点,i j u 拉成向量11121121(1)11(,,...,,,....,,...,)T N N i j N N u u u u u u u --+--=其系数矩阵也会发生相应的变化。
为了更方便得构建出系数矩阵,这里先引入边界点,即引入0001010,1112121(1)(,,...,,,,...,,,....,,...,)T N N N i j NN u u u u u u u u u u u ++=初始化矩阵A 为(N+1)阶零方阵。
对i ,j=1,2,…,N-1进行赋值:A((i0-1)(N+1)+j0,(i0-1)(N+1)+j0)=-1;A((i0-1)(N+1)+j0,(i0-1-1)(N+1)+j0)=1/4;A((i0-1)(N+1)+j0,(i0-1)(N+1)+j0-1)=1/4;A((i0-1)(N+1)+j0,(i0+1-1)(N+1)+j0)=1/4;A((i0-1)(N+1)+j0,(i0-1)(N+1)+j0+1)=1/4;由于边界条件中函数在边界点的取值是0,上述操作相当于在网格内点运算的同时考虑到了边界条件。
雅可比方法
第二节 雅可比方法雅可比方法是用来计算实对称矩阵A 的全部特征值及其相应特征向量的一种变换方法.在介绍雅可比方法之前,先介绍方法中需要用到的线性代数知识与平面上的旋转变换.一 预备知识(1) 如果n 阶方阵A 满足()A A I A A T ==-1即则称A 为正交阵.(2) 设A 是n 阶实对称矩阵,则A 的特征值都是实数,并且有互相正交的n 个特征向量.(3) 相似矩阵具有相同的特征值.(4) 设A 是n 阶实对称矩阵,P 为n 阶正交阵,则AP P B T =也是对称矩阵.(5) n 阶正交矩阵的乘积是正交矩阵.(6) 设A 是n 阶实对称矩阵,则必有正交矩阵P ,使∧=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n T AP P λλλ 21 (1)其中Λ的对角线元素的是A 的n 个特征值,正交阵P 的第i 列是A 的对应于特征值i λ的特征向量.由(6)可知,对于任意的n 阶实对称矩阵A ,只要能求得一个正交阵P ,使Λ=AP P T (Λ为对角阵),则可得到A 的全部特征值及其相应的特征向量,这就是雅可比方法的理论基础.二 旋转变换设⎥⎦⎤⎢⎣⎡=22211211a a a aA 为二阶实对称矩阵,即2112a a =.因为实对称矩阵与二次型是一一对应的,设A 对应的二次型为()222221122111212x a x x a x a x ,x f ++= (2)由解析几何知识知道,方程()C x ,x f =21表示在21x ,x 平面上的一条二次曲线.如果将坐标轴21Ox ,Ox 旋转一个角度θ,使得旋转后的坐标轴21Oy ,Oy 与该二次曲线的主轴重合,如图4-1所示,则在新的坐标系中,二次曲线的方程就化成C y y =+222211λλ (3) 这个变换就是⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡2121y y cos sin sin cos x x θθθθ (4)变换(4)把坐标轴进行旋转,所以称为旋转变换.其中⎥⎦⎤⎢⎣⎡-=θθθθcos sin sin cos P (5) 称为平面旋转矩阵。
数值分析-雅克比迭代法
数值分析-雅克⽐迭代法雅克⽐迭代法雅克⽐迭代法就是众多迭代法中⽐较早且较简单的⼀种,其命名也是为纪念普鲁⼠著名数学家雅可⽐。
雅克⽐迭代法的计算公式简单,每迭代⼀次只需计算⼀次矩阵和向量的乘法,且计算过程中原始矩阵A始终不变,⽐较容易并⾏计算。
迭代过程⾸先将⽅程组中的系数矩阵A分解成三部分,即:A = L+D+U,如图1所⽰,其中D为对⾓阵,L为下三⾓矩阵,U为上三⾓矩阵。
之后确定迭代格式,X^(k+1) = B*X^(k) +f ,(这⾥^表⽰的是上标,括号内数字即迭代次数),如图1所⽰,其中B称为迭代矩阵,雅克⽐迭代法中⼀般记为J。
(k = 0,1,…)再选取初始迭代向量X^(0),开始逐次迭代。
收敛性设Ax= b,其中A=D+L+U为⾮奇异矩阵,且对⾓阵D也⾮奇异,则当迭代矩阵J的谱半径ρ(J)<1时,雅克⽐迭代法收敛优缺点雅克⽐迭代法的优点明显,计算公式简单,每迭代⼀次只需计算⼀次矩阵和向量的乘法,且计算过程中原始矩阵A始终不变,⽐较容易并⾏计算。
然⽽这种迭代⽅式收敛速度较慢,⽽且占据的存储空间较⼤例题程序算法#include<math.h>#include<stdio.h>#include <stdlib.h>int main(){float e =0.001, z, m, y[3]; float b[3]={-12, 20, 3};float x[3]={0);float a[3][3]={{5, 2, 1},{-1, 4, 2},{2, -3, 10}};int n =3, j, i, k =1;while(1){for(i=0;i<3;i++){for(j=0;j<3;j++)m=m+a[i][j]*x[j];m = m - x[i] * a[i][i]; y[i]=(b[i] - m) / a[i][i]; m =0;}i =0;while(i <3){z = fabs(x[i] - y[i]);if(z > e)break;i++;}if(i !=3){for(i =0; i <3; i++)x[i]= y[i];k++;}else if(i ==3)break;}printf("%f\n%f\n%f\n", y[0], y[1], y[2]);return0;}1求解⽅程:8 * x1 - 3 * x2 + 2 * x3 =204 * x1 - 11 * x2 - x3 =336 * x1 + 3 * x2 + 12 * x3 =36精确解:x1 =0.411817, x2 = -3.176429, x3 =3.588173 --->迭代公式:x1^(k+1)=(3 * x2^(k) - 2 * x3^(k) + 20) / 8;x2^(k+1)=(-4 * x1^(k) + 1 * x3^(k) + 33) / (-11); x2^(k+1)=(-6 * x1^(k) - 3 * x2^(k) + 36) / 12; */#include <stdio.h>#include <stdlib.h>struct X {float x1;float x2;float x3;};X jcobi(X&v){X r;r.x1 =(3 * v.x2 - 2 * v.x3 + 20) / 8;r.x2 =(-4 * v.x1 + v.x3 + 33) / (-11);r.x3 =(-6 * v.x1 - 3 * v.x2 + 36) / 12;return r;}void main(){X v={0,0,0};int iteration =20;while(iteration-- >0){v= jcobi(v);v= jcobi(v);}printf("%f\n%f\n%f\n", v.x1, v.x2, v.x3); }。
计算方法及答案
《计算方法》练习题一一、填空题1. 14159.3=π的近似值3.1428,准确数位是( )。
2.满足d b f c a f ==)(,)(的插值余项=)(x R ( )。
3.设)}({x P k 为勒让德多项式,则=))(),((22x P x P ( )。
4.乘幂法是求实方阵( )特征值与特征向量的迭代法。
5.欧拉法的绝对稳定实区间是( )。
6. 71828.2=e 具有3位有效数字的近似值是( )。
7.用辛卜生公式计算积分⎰≈+101x dx( )。
8.设)()1()1(--=k ij k a A第k 列主元为)1(-k pka ,则=-)1(k pk a ( )。
9.已知⎥⎦⎤⎢⎣⎡=2415A ,则=1A ( )。
10.已知迭代法:),1,0(),(1 ==+n x x n n ϕ 收敛,则)(x ϕ'满足条件( )。
二、单选题1.已知近似数,,b a 的误差限)(),(b a εε,则=)(ab ε( )。
A .)()(b a εε B.)()(b a εε+ C.)()(b b a a εε+ D.)()(a b b a εε+2.设x x x f +=2)(,则=]3,2,1[f ( )。
A.1 B.2 C.3 D.4 3.设A=⎥⎦⎤⎢⎣⎡3113,则化A为对角阵的平面旋转=θ( ). A.2π B.3π C.4π D.6π 4.若双点弦法收敛,则双点弦法具有( )敛速.A.线性 B.超线性 C.平方 D.三次 5.改进欧拉法的局部截断误差阶是( ).A .)(h o B.)(2h o C.)(3h o D.)(4h o 6.近似数21047820.0⨯=a 的误差限是( )。
A.51021-⨯ B.41021-⨯ C.31021-⨯ D.21021-⨯ 7.矩阵A满足( ),则存在三角分解A=LR 。
A .0det ≠A B. )1(0det n k A k <≤≠ C.0det >A D.0det <A8.已知T x )5,3,1(--=,则=1x ( )。
雅可比行列式详述解析
雅可比行列式是线性代数中一个重要的概念,它在诸多领域如计算机图形学、物理学和概率论等中都有广泛的应用。
雅可比行列式的计算方法和性质非常有趣且具有重要性。
本文将详细解析雅可比行列式的相关概念和性质,并探讨其在实际应用中的作用和意义。
一、雅可比行列式的定义和计算方法雅可比行列式是由一组向量的偏导数组成的行列式。
假设有n个变量x1, x2, …, xn,它们的偏导数分别为∂f/∂x1, ∂f/∂x2, …, ∂f/∂xn,那么雅可比行列式的定义可以表示为:J = | ∂f/∂x1 ∂f/∂x2 … ∂f/∂xn | … | ∂f/∂xn1 ∂f/∂xn2 … ∂f/∂xnn |其中,J表示雅可比行列式,∂f/∂xi表示函数f对变量xi的偏导数。
计算雅可比行列式的方法是通过依次计算对应位置的元素的行列式值,并根据行列式的性质求和。
具体计算步骤如下:1.计算第一行的元素,即∂f/∂x1, ∂f/∂x2, …, ∂f/∂xn对应的值;2.计算第二行的元素,即∂f/∂xn1, ∂f/∂xn2, …, ∂f/∂xnn对应的值;3.以此类推,计算剩余行的元素;4.将每行计算出的元素值进行相乘,并按正负号进行交替相加,得到行列式的值。
对于二维情况下的雅可比行列式,即两个变量x和y,雅可比行列式的计算公式为:J = ∂(f1, f2)/∂(x, y) = (∂f1/∂x * ∂f2/∂y) - (∂f1/∂y * ∂f2/∂x)二、雅可比行列式的性质和意义雅可比行列式具有以下重要性质和意义:1.表示变量间的关系:雅可比行列式描述了变量之间的关系,可以用来衡量变化率和相关性。
当雅可比行列式的值为正时,表示变量之间是正相关的;当值为负时,则表示变量之间是负相关的。
2.衡量体积变化率:在多元函数中,雅可比行列式可以用来描述空间中体积的变化率。
具体地说,雅可比行列式的绝对值表示体积的变化率,而符号表示体积的方向。
3.判定坐标变换:雅可比行列式可以用于判定坐标变换的是否保持体积不变。
数值计算方法大作业
目录第一章非线性方程求根 (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 = 0While f = 0X1 = (Exp(2 * x0) - x0) / 5If Abs(X1 - x0) < ep ThenPrint X1f = 1Elsex0 = X1End IfWendEnd 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 = 0While f = 0X1 = x0 - (x0 ^ 2 - b) / (2 * b)If Abs(X1 - x0) < ep ThenPrint X1f = 1Elsex0 = X1End IfWendEnd Sub例:求56的值。
计算方法练习题
间为
,要求准确到103 ,则至少应二分
次;
4. 4. (x) x (x2 5) ,要使迭代格式 xk1 (xk ) 局部收敛到 x* 5 ,则
的取值范围是
;
5. 5. 求方程 x3 x 4 0根的单点割线法是
敛阶为
;双点割线法是
,其收 ,其收敛阶
为
。
三、计算题 1. 1. 用二分法求方程 x2 x 1 0 的正根,使误差小于 0.05。
, 该迭代矩阵的谱半径 (B1)
;
2. 2. 解 方 程 组 3x1x125xx2 201 的 高 斯 — 赛 德 尔 迭 代 格 式 ( 分 量 形 式 )
为
,迭代矩阵 B2
, 该迭代矩阵
的谱半径 (B2 )
;
3. 3. 幂法的迭代公式为
4*.QR 算法是用来求
5*.雅可比方法是用来求
变换方法。
9.
4. ______________插值不仅要求插值函数和被插值函数在节点取已知
函数值而且取已知导数值。
10.
5. 已知 f (1) 2, f (0) 1, f (2) 3, 则 f [1,0] __________________,
f [0,2] ___________, f [1,0,2] __________ ,牛顿二次插值多项式
() ()
() () ()
二、填空题
1. 1. 用二分法求非线性方程 f (x)=0 在区间(a,b)内的根时,二分 n 次后的误差
限为
;
2. 2. 设 f (x) 可微,求方程 x f (x) 的牛顿迭代格式是
;
3. 3. 用二分法求方程 x3 x 1 0 在区间[0,1]内的根,进行一步后根的所在区
第四章雅可比(微分变换)
1 0 0 0
Rot
(x,
x
)
0 0
0
1 x 0
x 1 0
0 0 1
1 0 y 0
Rot
(
y,
y
)
0 0
y
1 0 0
0 1 0
0 0 1
(5.17) (5.18)
由此可得到
1 z 0 0
Rot (z,
z
(5.3)
式中是在基坐标的x,y,z轴向上分别平移dx,dy,dz;和绕基坐标的向量k旋 转dθ角。由此可得到
dT (Trans(dx, dy, dz)Rot (k, d ) I )T
(5.4)
如果上述微分变换不是针对基坐标而是针对坐标系T,那么微分变换的结果可 表示为
T dT T Trans(dx, dy, dz)Rot(k, d )
ny nz
0
ox oy oz
0
ax ay az
0
p d x
p
d
y
p
0
d
z
(5.29)
式中d和 分别是微分平移和微分旋转矢量。用 T 1左乘式(5.29)可得
0
0
0
0
上式矩阵元素都具有如下矢量三重积形式
(5.30)
根据矢量三重积的性质有
a b c
a b c b a c b c a
(5.31)
2019年9月18日
13
同时,三重积中只要有二个矢量是相同的,其结果为零。如
古典雅可比
古典Jacobi 算法班级:计算062 姓名:王保翔 学号:3060811028目的意义:寻找相似变换,是对称矩阵A 经过变换之后所得矩阵的非对角线元素的平方和减少,对角线元素的平方和增大,且保持对称性不变,不断的施行这种正交变换,最终是非对角元素的平方和任意的接近与零,对角线元素平方的取极大值。
算 法:步骤1:1)1(---=k qq k pp a a y 1)1()1(2*)sgn(----=kpq k qq k pp a a a x步骤2:)/1(2/1cos 222y x y ++=θ θθcos /1*/*2/1sin 22y x x += 步骤3: a[i][c][k+1]=b[i][c][k]*g+b[i][d][k]*f;a[c][i][k+1]=b[i][c][k]*g+b[i][d][k]*f;a[i][d][k+1]=-b[i][c][k]*f+b[i][d][k]*g;a[d][i][k+1]=-b[i][c][k]*f+b[i][d][k]*g;p=(b[c][c][k]-b[d][d][k])*f*g;q=b[c][d][k]*(g*g-f*f);a[c][d][k+1]=a[d][c][k+1]=p+q;a[c][c][k+1]=b[c][c][k]*g*g+2*b[c][d][k]*g*f+b[d][d][k]*f*f;a[d][d][k+1]=b[c][c][k]*g*g-2*b[c][d][k]*g*f+b[d][d][k]*f*f;源程序#include "stdio.h"#include"math.h"#define P 0.1void main(){doublea[20][20][20],b[20][20][20],r[20][20][20],max,u,y,x,t,g,f,h,v,w,l[20][20][20];int i,j,k,n,c,d;printf("Input the n value:");scanf("%d",&n);printf("Input the a[i][j][1] value:");for(i=1;i<=n;i++)for(j=1;j<=n;j++)scanf("%lf",&a[i][j][1]);for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(a[i][j][1]<0) b[i][j][1]=-a[i][j][1];else b[i][j][1]=a[i][j][1];}for(k=1;k<=n;k++){for( max=0,i=1;i<=n;i++)for(j=1;j<=n;j++){if(i<j&&b[i][j][k]>max+0.000001){m ax=b[i][j][k];c=i;d=j;}}printf("max=%lf ",max);printf("c=%d,d=%d ",c,d);u=b[c][c][k]-b[d][d][k];printf("u=%lf\n",u);if(u>=0) y=u;else y=-u;printf("y=%lf\n",y);if(u>=0) x=2*b[c][d][k];else x=-2*b[c][d][k];printf("x=%lf\n",x);t=sqrt(x*x+y*y);g=sqrt(0.5*1+0.5*y/t);f=0.5*x/t*(1/g);printf("f=%lf,g=%lf \n",f,g);for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(i!=j&&i!=c,j!=d&&i!=d,j!=c) r[i][j][k]=0;if(i==c&&j==c) r[c][c][k]=g;if(i==d&&j==d) r[d][d][k]=g;if(i==c&&j==d) r[c][d][k]=f;if(i==d&&j==c) r[d][c][k]=-f;if(i==j&&i!=c&&j!=d) r[i][j][k]=1;printf("r[%d][%d][%d]=%lf ",i,j,k,r[i][j][k]);}printf("\n");for(i=1;i<=n;i++)for(j=1;j<=n;j++){a[i][c][k+1]=b[i][c][k]*g+b[i][d][k]*f;a[c][i][k+1]=b[i][c][k]*g+b[i][d][k]*f;a[i][d][k+1]=-b[i][c][k]*f+b[i][d][k]*g;a[d][i][k+1]=-b[i][c][k]*f+b[i][d][k]*g;if(i!=c&&j!=d&&i!=d&&j!=c) a[i][j][k+1]=b[i][j][k];}h=(b[c][c][k]-b[d][d][k])*f*g;v=b[c][d][k]*(g*g-f*f);a[c][d][k+1]=h+v;a[d][c][k+1]=h+v;a[c][c][k+1]=b[c][c][k]*g*g+2*b[c][d][k]*f*g+b[d][d][k]*f*f; a[d][d][k+1]=b[c][c][k]*f*f-2*b[c][d][k]*f*g+b[d][d][k]*g*g; for(i=1;i<=n;i++)for(j=1;j<=n;j++)printf("a[%d][%d][%d]=%lf ",i,j,k+1,a[i][j][k+1]);for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(a[i][j][1]<0) b[i][j][k+1]=-a[i][j][k+1];else b[i][j][k+1]=a[i][j][k+1];}w=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(i!=j) w=w+b[i][j][k+1]*b[i][j][k+1];else continue;}printf("w=%lf",w);if(w<P) break;else continue;}}算例及运行结果:分析:输入矩阵A,输出变换后的矩阵且非对角元素趋近于0,所以结果收敛。
实验二 用雅克比迭代法解方程组
= xi(k)+1aii(bi-j=1naijxjk),
(i=1,2,3,…,n)
实验内容
按照上述迭代法可得到如下的算法:
设方程组为:AX=b,
其中系数矩阵A的对角元素aii≠0(i=1,2,3,…,n)
max_iter为迭代数容许的最大值,eps为容许误差:
实验原理
设有n元线性方程组AX=b, 其中系数矩阵A的对角元素aii≠0(i=1,2,3,…,n)
从方程组的第i个方程中可以解出 xi ,可得到以下等价方程组:
x1= 1a11(b1-a12x2-a13x3-…-a1nxn) ,
x2= 1a22(b2-a21x1-a23x3-…-a2nxn) ,
………………………………………………,
本资料为word版本,可以直接编辑和打印,感谢您的下载
实验二 用雅克比迭代法解方程组
地点:__________________
时间:__________________
说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
数值计算方法实验
实验2 用雅克比迭代法解方程组
实验目的
学习使用雅克比迭代法求解方程组,加深对雅克比迭代法的认识。
在误差允许的范围内,在循环次数较少的情况下,求解方程组的稳定解。
进一步加深对Matlab的学习。
实验题目
用雅克比迭代法解方程组:
5x1+2x2+x3=8 ,
2x1+8-3x3=21 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算方法大作业利用雅可比迭代求值
班级:021011
学号:********
姓名:***
利用雅可比迭代法解方程组
1231231
2352828321361x x x x x x x x x ++=⎧⎪
+-=⎨⎪--=⎩
一、雅可比迭代原理
线性方程组为了计算方便可以用矩阵表示,Ax=b 。
一般当A 为低阶稠密矩阵时,用主元消去法解此方程组是有效方法。
但是,对于由工程技术中产生的大型稀疏矩阵方程组,利用迭代法求解此方程组比较合适。
雅克比迭代法就是众多迭代法中比较早且较简单的一种。
首先将方程组中的系数矩阵A 分解成三部分,即:A = L+D+U ,其中D 为对角阵,L 为下三角矩阵,U 为上三角矩阵。
211
2
000n n a L a a ⎡⎤
⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎦
⎣
1122
nn a a D a ⎡⎤
⎢⎥⎢
⎥=⎢⎥⎢⎥⎢⎦
⎣
1212000n n a a a U ⎡⎤
⎢
⎥⎢⎥=⎢⎥⎢⎥⎢⎦
⎣
之后确定迭代格式,X^(k+1) = B *X^(k) +f ,(这里^表示的是上标,括号内数字即迭代次数),其中B 称为迭代矩阵,雅克比迭代法中一般记为J 。
(k = 0,1,......)。
再选取初始迭代向量X^(0),开始逐次迭代。
二、收敛性
设A x = b ,其中A=D+L+U 为非奇异矩阵,且对角阵D 也非奇异,则当迭代矩阵J 的ρ(J )<1时,雅克比迭代法收敛。
三、优缺点
雅克比迭代法的优点明显,计算公式简单,每迭代一次只需计算一次矩
阵和向量的乘法,且计算过程中原始矩阵A 始终不变,比较容易并行计算。
然而这种迭代方式收敛速度较慢,而且占据的存储空间较大。
四、算法
设方程组A x = b 的系数矩阵的对角元素()1101,2,,a i n ≠=,M 为迭代次数
容许的最大值,ε 为容许误差。
1),取初始向量
()
(0)
(0)(0)1
2
,,
,T n x x x x
=,令k=0.
2),对i=1,2,……,n 计算
(1)
()1,1
()
n k k i i ij j j j i
ii x b a x a +=≠=-∑ 3),如果
(1)()1
n
k k i i i x x ε+=-<∑
,则输出(1)k x +,结束;否则执行 4)
4),如果
k M
≥,则不收敛,终止程序;否则
1k k ←+,转2)。
五、 程序
function Jacobi(A,b,max,eps)%max 为迭代次数容许的最大值,eps 为容许误差 A=[5 2 1;2 8 -3;1 -3 -6]; b=[8;21;1]; max=100; eps=0.000001; n=length(A); x=zeros(n,1); x1=zeros(n,1); k=0; while 1
x1(1)=(b(1)-A(1,2:n)*x(2:n,1))/A(1,1); for i=2:n-1
x1(i)=(b(i)-A(i,1:i-1)*x(1:i-1,1)-A(i,i+1:n)*x(i+1:n,1))/A(i,i); end
x1(n)=(b(n)-A(n,1:n-1)*x(1:n-1,1))/A(n,n); k=k+1;
if sum(abs(x1-x))<eps
fprintf('number=%d\n',k); break; end
if k>=max
fprintf('The Method is disconvergent\n');
break;
end
x=x1;
end
if k<max
for i=1:n
fprintf('x[%d]=%f\n',i,x1(i));
end
end
六、结果
1),容许误差是0.000001时的结果
调节容许误差为0.0001 结果如下:
调节容许误差为0.001时 结果如下:
七、 心得体会
通过雅可比迭代法最终我们可以判断出方程组的收敛性,但此方法并不
简单,需要我们掌握相关的迭代法则,及基本思想和算法步骤,并能对之加以灵活应用。
从此实验中通过雅可比迭代法我们可以清楚地得出11A X b =方程组的雅可比迭代格式是收敛的,22A X b =的Jacobi 是不收敛的。
要想成功地完成此实验,不仅需要对与雅可比迭代法的相关知识熟悉掌握外,还必须要有不骄不躁,坚持耐心的精神。
通过此实验我们可以看出雅可比迭代法在实际中的应用是非常广泛且很有用处的,所以我们需要对它的基本算法等加以牢固掌握以可以在实际中灵活运用。