数值分析实验报告7..

合集下载

数值分析实验报告

数值分析实验报告

数值分析实验报告【引言】数值分析是一门研究利用计算机和数学方法解决实际问题的学科,它在工程、科学和经济领域中有着广泛的应用。

在这个实验报告中,我将分享我在数值分析实验中的一些发现和结果。

【实验目的】本次实验的目的是通过数值方法对给定的问题进行求解,并分析数值方法的精确性和稳定性。

我们选择了经典的插值和数值积分问题来进行实验。

【实验过程】在插值问题中,我使用了拉格朗日插值和样条插值两种方法。

通过使用已知的数据点,这些方法能够通过构造多项式函数来逼近原始函数,从而能够在未知点上进行预测。

通过比较两种插值方法的结果,我发现拉格朗日插值在低维数据上表现更好,而样条插值在高维数据上更能保持插值曲线的平滑性。

在数值积分问题中,我使用了复合梯形公式和复合辛普森公式来进行数值积分。

这两种方法可以将复杂的区间上的积分问题转化为对若干个小区间进行数值积分的问题。

实验结果表明,复合辛普森公式在使用相同的步长时,其数值积分结果更为精确。

【实验结果】我以一个实际问题作为例子来展示实验结果。

问题是计算半径为1的圆的面积。

通过离散化的方法,我将圆划分为多个小的扇形区域,并使用数值积分方法计算每个扇形的面积。

最后将每个扇形的面积相加,即可得到圆的近似面积。

通过调整离散化的精度,我发现随着扇形数量的增加,计算得到的圆的面积越接近真实的圆的面积。

在插值问题中,我选择了一段经典的函数进行插值研究。

通过选择不同的插值节点和插值方法,我发现当插值节点越密集时,插值结果越接近原函数。

同时,样条插值方法在高阶导数连续的情况下能够更好地逼近原始函数。

【实验总结】通过这次实验,我对数值分析中的插值和数值积分方法有了更深入的理解。

我了解到不同的数值方法在不同的问题中有着不同的适用性和精确度。

在实际应用中,我们需要根据具体问题选择合适的数值方法,并进行必要的数值计算和分析,以获得准确可靠的结果。

总的来说,数值分析作为一种重要的工具和方法,在科学研究和工程实践中具有广泛的应用,并且不断发展和创新。

数值分析综合实验报告

数值分析综合实验报告

一、实验目的通过本次综合实验,掌握数值分析中常用的插值方法、方程求根方法以及数值积分方法,了解这些方法在实际问题中的应用,提高数值计算能力。

二、实验内容1. 插值方法(1)拉格朗日插值法:利用已知数据点构造多项式,以逼近未知函数。

(2)牛顿插值法:在拉格朗日插值法的基础上,通过增加基函数,提高逼近精度。

2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,通过不断缩小区间来逼近根。

(2)Newton法:利用函数的导数信息,通过迭代逼近根。

(3)不动点迭代法:将方程转化为不动点问题,通过迭代逼近根。

3. 数值积分方法(1)矩形法:将积分区间等分,近似计算函数值的和。

(2)梯形法:将积分区间分成若干等分,用梯形面积近似计算积分。

(3)辛普森法:在梯形法的基础上,将每个小区间再等分,提高逼近精度。

三、实验步骤1. 拉格朗日插值法(1)输入已知数据点,构造拉格朗日插值多项式。

(2)计算插值多项式在未知点的函数值。

2. 牛顿插值法(1)输入已知数据点,构造牛顿插值多项式。

(2)计算插值多项式在未知点的函数值。

3. 方程求根方法(1)输入方程和初始值。

(2)选择求解方法(二分法、Newton法、不动点迭代法)。

(3)迭代计算,直到满足精度要求。

4. 数值积分方法(1)输入被积函数和积分区间。

(2)选择积分方法(矩形法、梯形法、辛普森法)。

(3)计算积分值。

四、实验结果与分析1. 插值方法(1)拉格朗日插值法:通过构造多项式,可以较好地逼近已知数据点。

(2)牛顿插值法:在拉格朗日插值法的基础上,增加了基函数,提高了逼近精度。

2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,计算简单,但收敛速度较慢。

(2)Newton法:利用函数的导数信息,收敛速度较快,但可能存在数值不稳定问题。

(3)不动点迭代法:将方程转化为不动点问题,收敛速度较快,但可能存在初始值选择不当的问题。

3. 数值积分方法(1)矩形法:计算简单,但精度较低。

数值分析实验 实验报告

数值分析实验 实验报告

数值分析实验实验报告数值分析实验实验报告一、引言数值分析是一门研究如何利用计算机对数学问题进行数值计算和模拟的学科。

在实际应用中,数值分析广泛应用于工程、物理、金融等领域。

本实验旨在通过实际操作,探索数值分析方法在实际问题中的应用,并通过实验结果对比和分析,验证数值分析方法的有效性和可靠性。

二、实验目的本实验的主要目的是通过数值分析方法,解决一个实际问题,并对比不同方法的结果,评估其准确性和效率。

具体来说,我们将使用牛顿插值法和拉格朗日插值法对一组给定的数据进行插值,并对比两种方法的结果。

三、实验步骤1. 收集实验数据:我们首先需要收集一组实验数据,这些数据可以来自实验测量、调查问卷等方式。

在本实验中,我们假设已经获得了一组数据,包括自变量x和因变量y。

2. 牛顿插值法:牛顿插值法是一种基于差商的插值方法。

我们可以通过给定的数据点,构造一个插值多项式,并利用该多项式对其他点进行插值计算。

具体的计算步骤可以参考数值分析教材。

3. 拉格朗日插值法:拉格朗日插值法是另一种常用的插值方法。

它通过构造一个满足给定数据点的多项式,利用该多项式对其他点进行插值计算。

具体的计算步骤也可以参考数值分析教材。

4. 结果比较与分析:在完成牛顿插值法和拉格朗日插值法的计算后,我们将比较两种方法的结果,并进行分析。

主要考虑的因素包括插值误差、计算效率等。

四、实验结果在本实验中,我们选取了一组数据进行插值计算,并得到了牛顿插值法和拉格朗日插值法的结果。

经过比较和分析,我们得出以下结论:1. 插值误差:通过计算插值点与实际数据点之间的差值,我们可以评估插值方法的准确性。

在本实验中,我们发现牛顿插值法和拉格朗日插值法的插值误差都较小,但是拉格朗日插值法的误差稍大一些。

2. 计算效率:计算效率是衡量数值分析方法的重要指标之一。

在本实验中,我们发现牛顿插值法的计算速度较快,而拉格朗日插值法的计算速度稍慢。

五、实验结论通过本实验,我们对数值分析方法在实际问题中的应用有了更深入的了解。

数值分析实验报告

数值分析实验报告

数值分析实验报告
一、实验背景
本实验主要介绍了数值分析的各种方法。

在科学计算中,为了求解一
组常微分方程或一些极限问题,数值分析是一种有用的方法。

数值分析是
一种运用计算机技术对复杂模型的问题进行数学分析的重要手段,它利用
数学模型和计算机程序来解决复杂的数学和科学问题。

二、实验内容
本实验通过MATLAB软件,展示了以下几种数值分析方法:
(1)拉格朗日插值法:拉格朗日插值法是由法国数学家拉格朗日发
明的一种插值方法,它可以用来插值一组数据,我们使用拉格朗日插值法
对给定的点进行插值,得到相应的拉格朗日多项式,从而计算出任意一个
点的函数值。

(2)最小二乘法:最小二乘法是一种常用的数据拟合方法,它可以
用来拟合满足一定函数的点的数据,它的主要思想是使得数据点到拟合曲
线之间的距离的平方和最小。

(3)牛顿插值法:牛顿插值法是一种基于差商的插值方法,它可以
用来插值一组数据,可以求得一组数据的插值函数。

(4)三次样条插值:三次样条插值是一种基于三次样条的插值方法,它可以用来对一组数据进行插值,可以求得一组数据的插值函数。

三、实验步骤
1.首先启动MATLAB软件。

数值分析实验报告

数值分析实验报告

数值分析实验报告篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告数值分析实验报告课题一:解线性方程组的直接方法1.实验目的:1、通过该课题的实验,体会模块化结构程序设计方法的优点;2、运用所学的计算方法,解决各类线性方程组的直接算法;3、提高分析和解决问题的能力,做到学以致用;4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。

2.实验过程:实验代码:#include "stdio.h"#include "math.h"#includeiostreamusing namespace std;//Gauss法void lzy(double **a,double *b,int n) {int i,j,k;double l,x[10],temp;for(k=0;kn-1;k++){for(j=k,i=k;jn;j++){if(j==k)temp=fabs(a[j][k]);else if(tempfabs(a[j][k])){temp=fabs(a[j][k]);i=j;}}if(temp==0){cout"无解\n; return;}else{for(j=k;jn;j++){temp=a[k][j];a[k][j]=a[i][j];a[i][j]=temp;}temp=b[k];b[k]=b[i];b[i]=temp;}for(i=k+1;in;i++) {l=a[i][k]/a[k][k];for(j=k;jn;j++)a[i][j]=a[i][j]-l*a[k][j]; b[i]=b[i]-l*b[k];}if(a[n-1][n-1]==0){cout"无解\n;return;}x[n-1]=b[n-1]/a[n-1][n-1];for(i=n-2;i=0;i--){temp=0;for(j=i+1;jn;j++)temp=temp+a[i][j]*x[j];x[i]=(b[i]-temp)/a[i][i];}for(i=0;in;i++){printf("x%d=%lf\t",i+1,x[i]); printf("\n");}}//平方根法void pfg(double **a,double *b,int n)int i,k,m;double x[8],y[8],temp;for(k=0;kn;k++){temp=0;for(m=0;mk;m++)temp=temp+pow(a[k][m],2);if(a[k][k]temp)return;a[k][k]=pow((a[k][k]-temp),1.0/2.0);for(i=k+1;in;i++){temp=0;for(m=0;mk;m++)temp=temp+a[i][m]*a[k][m]; a[i][k]=(a[i][k]-temp)/a[k][k]; }temp=0;for(m=0;mk;m++)temp=temp+a[k][m]*y[m];y[k]=(b[k]-temp)/a[k][k];}x[n-1]=y[n-1]/a[n-1][n-1];for(k=n-2;k=0;k--){temp=0;for(m=k+1;mn;m++)temp=temp+a[m][k]*x[m];x[k]=(y[k]-temp)/a[k][k];}for(i=0;in;i++){printf("x%d=%lf\t",i+1,x[i]);printf("\n");}}//追赶法void zgf(double **a,double *b,int n){int i;double a0[10],c[10],d[10],a1[10],b1[10],x[10],y[10]; for(i=0;in;i++){a0[i]=a[i][i];if(in-1)c[i]=a[i][i+1];if(i0)d[i-1]=a[i][i-1];}a1[0]=a0[0];for(i=0;in-1;i++){b1[i]=c[i]/a1[i];a1[i+1]=a0[i+1]-d[i+1]*b1[i];}y[0]=b[0]/a1[0];for(i=1;in;i++)y[i]=(b[i]-d[i]*y[i-1])/a1[i];x[n-1]=y[n-1];for(i=n-2;i=0;i--)x[i]=y[i]-b1[i]*x[i+1];for(i=0;in;i++){printf("x%d=%lf\t",i+1,x[i]); printf("\n");}}int main(){int n,i,j;double **A,**B,**C,*B1,*B2,*B3;A=(double **)malloc(n*sizeof(double)); B=(double **)malloc(n*sizeof(double));C=(double **)malloc(n*sizeof(double));B1=(double *)malloc(n*sizeof(double));B2=(double *)malloc(n*sizeof(double));B3=(double *)malloc(n*sizeof(double));for(i=0;in;i++){A[i]=(double *)malloc((n)*sizeof(double));B[i]=(double*)malloc((n)*sizeof(double));C[i]=(double*)malloc((n)*sizeof(double)); }cout"第一题(Gauss列主元消去法):"endlendl; cout"请输入阶数n:"endl;cinn;cout"\n请输入系数矩阵:\n\n";for(i=0;in;i++)for(j=0;jn;j++){篇三:数值分析实验报告(包含源程序) 课程实验报告课程实验报告。

数值分析实验报告模板

数值分析实验报告模板

数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。

本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。

利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。

即若x0 偏离所求根较远,Newton法可能发散的结论。

并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。

前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。

掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。

熟悉Matlab语言编程,学习编程要点。

体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。

数学原理:对于一个非线性方程的数值解法很多。

在此介绍两种最常见的方法:二分法和Newton法。

对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。

当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。

另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。

程序设计:本实验采用Matlab的M文件编写。

其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。

《数值分析》课程实验报告数值分析实验报告

《数值分析》课程实验报告数值分析实验报告

《数值分析》课程实验报告数值分析实验报告《数值分析》课程实验报告姓名:学号:学院:机电学院日期:20__ 年 _ 月_ 日目录实验一函数插值方法 1 实验二函数逼近与曲线拟合 5 实验三数值积分与数值微分 7 实验四线方程组的直接解法 9 实验五解线性方程组的迭代法 15 实验六非线性方程求根 19 实验七矩阵特征值问题计算 21 实验八常微分方程初值问题数值解法 24 实验一函数插值方法一、问题提出对于给定的一元函数的n+1个节点值。

试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。

数据如下:(1) 0.4 0.55 0.65 0.80 0.95 1.05 0.41075 0.57815 0.69675 0.90 1.00 1.25382 求五次Lagrange多项式,和分段三次插值多项式,计算, 的值。

(提示:结果为, )(2) 1 2 3 4 5 6 7 0.368 0.135 0.050 0.018 0.007 0.002 0.001 试构造Lagrange多项式,计算的,值。

(提示:结果为, )二、要求 1、利用Lagrange插值公式编写出插值多项式程序;2、给出插值多项式或分段三次插值多项式的表达式;3、根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何;4、对此插值问题用Newton插值多项式其结果如何。

Newton 插值多项式如下:其中:三、目的和意义 1、学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;2、明确插值多项式和分段插值多项式各自的优缺点;3、熟悉插值方法的程序编制;4、如果绘出插值函数的曲线,观察其光滑性。

四、实验步骤(1) 0.4 0.55 0.65 0.80 0.951.05 0.41075 0.57815 0.69675 0.90 1.00 1.25382 求五次Lagrange多项式,和分段三次插值多项式,计算, 的值。

数值分析的实验报告

数值分析的实验报告

数值分析的实验报告实验目的本实验旨在通过数值分析方法,探讨数学问题的近似解法,并通过实际案例进行验证和分析。

具体目的包括: 1. 理解和掌握数值分析的基本原理和方法; 2. 学会使用计算机编程语言实现数值分析算法; 3. 分析数值分析算法的精确性和稳定性; 4. 根据实验结果对数值分析算法进行优化和改进。

实验步骤1. 问题描述首先,我们选择一个数学问题作为实验的对象。

在本次实验中,我们选取了求解非线性方程的问题。

具体而言,我们希望找到方程 f(x) = 0 的解。

2. 数值方法选择根据非线性方程求解的特点,我们选择了牛顿迭代法作为数值方法。

该方法通过不断迭代逼近方程的解,并具有较好的收敛性和精确性。

3. 程序设计与实现为了实现牛顿迭代法,我们使用了Python编程语言,并使用了相应的数值计算库。

具体的程序实现包括定义方程 f(x) 和其导数f’(x),以及实现牛顿迭代法的迭代过程。

4. 实验案例与结果分析我们选择了一个具体的方程,例如 x^3 - 2x - 5 = 0,并通过程序运行得到了方程的解。

通过比较实际解与数值解的差异,我们可以分析数值方法的精确性和稳定性。

5. 优化与改进基于实验结果的分析,我们可以对数值分析算法进行优化和改进。

例如,通过调整迭代的初始值、增加迭代次数或修改算法公式等方式,改进算法的收敛性和精确性。

实验结论通过本次实验,我们深入理解了数值分析的基本原理和方法,并通过具体案例验证了牛顿迭代法的有效性。

同时,我们也意识到数值分析算法的局限性,并提出了一些改进的建议。

在今后的数学问题求解中,我们可以运用数值分析的方法,通过计算机编程实现更精确的近似解。

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

实验七、QR 算法一、实验目的1、熟悉matlab 编程并学习QR 算法原理及计算机实现;2、学习用matlab 内置函数eig 和QR 算法求矩阵的特征值,并比对二者差异。

二、实验题目1、课本第277页第1题已知矩阵11261112376111671123456110787445677565,,.0367886109002897591000010A B H ⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪ ⎪ ⎪⎪⎪=== ⎪ ⎪ ⎪⎪ ⎪ ⎪⎝⎭⎝⎭⎪⎝⎭(1)用MATLAB 函数“eig ”求矩阵全部特征值;(2)用基本QR 算法求全部特征值(可用MA TLAB 函数“qr ”实现矩阵的QR 分解)。

2、用QR 算法求矩阵特征值:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=111132126)(i ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=010*******876307654465432)(ii根据QR 算法原理编制求(i )及(ii )中矩阵全部特征值的程序并输出计算结果(要求误差<10 -5).三、实验原理与理论基础QR 方法是一种变换方法,是计算一般矩阵(中小型矩阵)全部特征值问题的最有效方法之一。

目前QR 方法主要用来计算上海森伯格矩阵和对称三对角矩阵的全部特征值问题,且QR 方法具有收敛快、算法稳定等特点。

对于一般矩阵n nA ⨯∈(或对称矩阵),首先用豪斯霍尔德方法将A 化为上海森伯格矩阵B (或对称三对角矩阵),然后再用QR 方法计算B 的全部特征值。

1、矩阵的QR 分解设n nA ⨯∈非奇异,则存在正交矩阵P ,使PA=R ,其中R 为上三角矩阵。

用Householder变换构造正交矩阵P ,记(0)AA =,它的第一列记为(0)1a ,不妨设(0)10a ≠,可按公式(3.2)(Th14,约化定理 设12(,,,)0,T n x x x x =≠则存在初等反射矩阵H 使1Hx e σ=-,其中)112121122,sgn(),,().T H I uu x x u x e u x βσσβσσ-⎧=-⎪=⎪⎨=+⎪⎪==+⎩ 找到矩阵111111,,n nTH H I u u β⨯-∈=-使(0)11111,(1,0,,0).T nH a e e σ=-=∈于是(1)1(1)(0)(0)(0)(1)111121(1)(,,,),0n b AH A H a H a H a A σ⎛⎫-===⎪ ⎪⎝⎭其中(1)(1)(1)(1)(1)(1)121(,,,).n n n Aa a a -⨯--=∈一般地,设(1)(1)(1)()0j j j D B AA ---⎛⎫= ⎪ ⎪⎝⎭,其中(1)j D -为(j-1)阶方阵,其对角线以下元素均为0,(1)j A-为(n-j+1)阶方阵,设其第一列为(1)1j a -,可选择(n-j+1)的Householder 矩阵变换()()n j n j j H -⨯-∈,使(1)1111,(1,0,,0),j n j j j H a e e σ--+=-=∈根据j H 构造n*n 阶的变换矩阵j H 为10,0j j j I H H -⎛⎫=⎪⎝⎭于是有()()()(1).0j j j j j j D B A H A A -⎛⎫== ⎪ ⎪⎝⎭它和(1)j A -有类似的形式,只是()j D 为j 阶方阵,其对角线以下元素是0,这样经过n-1步运算得到(1)11,n n H H A A R --==其中(1)n R A -=为上三角矩阵,11n P H H -=为正交矩阵,从而有PA=R 。

2、QR 算法设n nA ⨯∈,且对A 进行QR 分解,即A QR =,其中R 为上三角矩阵,Q 为正交矩阵,于是可得到一个新矩阵TB RQ Q AQ ==。

显然,B 是由A 经过正交相似变换得到,因此B 与A 特征值相同,再对B 进行QR 分解,又可得一新的矩阵,重复这一过程可得到矩阵序列:设1A A =将1A 进行QR 分解111A Q R =作矩阵211111TA R Q Q A Q ==求得k A 后将k A 进行QR 分解k k k A Q R =形成矩阵1Tk k k k k k A R Q Q A Q +==QR 算法,就是利用矩阵的QR 分解,按上述递推法则构造矩阵序列{}k A 的过程。

只要A 为非奇异矩阵,则由QR 算法就完全确定{}k A 。

四、实验内容1、用matlab内置函数eig求矩阵的全部特征值;2、编写求特征值的QR算法程序,并用之求矩阵特征值;3、比较两种方法的结果差异。

(1)QR算法的m文件function qrsf(A,r)[Q,R]=qr(A);t=A(1,1) %tempA=R*Q;for k=1:50[Q,R]=qr(A);t=A(1,1);A=R*Q;if( abs( A(1,1)-t )<r )break;endendn=size(A,1);for i=1:nformat long gdisp( ['特征值λ',num2str(i),'=',num2str( A(i,i) )] ); end%disp('');for i=1:ndisp('特征值');format long g,A(i,i)endformat long g,A,Q,R(2)改进后的QR算法的m文件function qrsf(A,r)[Q,R]=qr(A);%t=A(1,1) %tempt(1)=max(abs(diag(R)));A=R*Q;for k=2:50[Q,R]=qr(A);z=diag(A);t(k)=max(abs(diag(R)));A=R*Q;if( abs( t(k) - t(k-1) ) < r )break;endendn=size(A,1);for i=1:nformat long gdisp( ['特征值λ',num2str(i),'=',num2str( A(i,i) )] ); end%disp('');for i=1:ndisp('特征值');format long g,A(i,i)endformat long g,A,Q,R五、实验结果>> A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];>> B=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0];>> H6=hilb(6);1、eig求矩阵特征值>> eig(A),eig(B),eig(H6)ans = 0.01015004839789240.8431071498550323.8580574559449530.2886853458021ans = 13.17235139810326.551878351915661.59565457314994-0.390788045416488-0.929096277752298ans = 1.08279948406811e-0071.25707571226224e-0050.0006157483541826520.01632152131987580.242360870575211.618899858924342、QR算法求矩阵特征值>> eig(A),qrsf(A,10^-8)ans = 0.01015004839789240.8431071498550323.8580574559449530.2886853458021t = 10特征值λ1=30.2887特征值λ2=3.8581特征值λ3=0.84311特征值λ4=0.01015特征值ans = 30.2886853457915特征值ans = 3.85805737835431 特征值ans = 0.843107227456257 特征值ans = 0.0101500483978911 >> eig(B),qrsf(B,10^-8)ans = 13.17235139810326.551878351915661.59565457314994-0.390788045416488-0.929096277752298t = 2特征值λ1=13.1724特征值λ2=6.5519特征值λ3=1.5957特征值λ4=-0.9291特征值λ5=-0.39079特征值ans = 13.1723513891479 特征值ans = 6.55187836087093 特征值ans = 1.59565457937031 特征值ans = -0.929096283974607 特征值ans = -0.390788045414554 >> eig(H6),qrsf(H6,10^-8)ans = 1.08279948406811e-0071.25707571226224e-0050.0006157483541826520.01632152131987580.242360870575211.61889985892434t = 1特征值λ1=1.6189特征值λ2=0.24236特征值λ3=0.016322特征值λ4=0.00061575特征值λ5=1.2571e-005特征值λ6=1.0828e-007特征值ans = 1.6188998588068 特征值ans = 0.24236087069274 特征值ans = 0.01632152131988 特征值ans = 0.000615748354182639 特征值ans = 1.25707571226506e-005 特征值ans = 1.08279948456401e-0073、改进后的QR算法求特征值>> eig(A),qrsf(A,10^-8)ans = 0.01015004839789240.8431071498550323.8580574559449530.2886853458021特征值λ1=30.2887特征值λ2=3.8581特征值λ3=0.84311特征值λ4=0.01015特征值ans = 30.2886853458019 特征值ans = 3.85805745223919 特征值ans = 0.843107153560957 特征值ans = 0.0101500483978911 >> eig(B),qrsf(B,10^-8)ans = 13.17235139810326.551878351915661.59565457314994-0.390788045416488-0.929096277752298特征值λ1=13.1724特征值λ2=6.5519特征值λ3=1.5957特征值λ4=-0.9291特征值λ5=-0.39079特征值ans = 13.1723513936489 特征值ans = 6.55187835636998 特征值ans = 1.59565456952802 特征值ans = -0.929096274131193 特征值ans = -0.390788045415675 >> eig(H6),qrsf(H6,10^-8)ans = 1.08279948406811e-0071.25707571226224e-0050.0006157483541826520.01632152131987580.242360870575211.61889985892434特征值λ1=1.6189特征值λ2=0.24236特征值λ3=0.016322特征值λ4=0.00061575特征值λ5=1.2571e-005特征值λ6=1.0828e-007特征值ans = 1.61889985892171 特征值ans = 0.242360870577844 特征值ans = 0.0163215213198758 特征值ans = 0.000615748354182638 特征值ans = 1.25707571226506e-005特征值ans = 1.08279948456401e-007六、实验结果分析与小结从实验结果可以看出,用MA TLAB内置函数eig求矩阵特征值与用QR算法求矩阵特征值的结果基本一致,数据只有微小差别。

相关文档
最新文档