文档详情

西南交大MATLAB上机题解.docx

发布:2017-12-30约8.47千字共19页下载文档
文本预览下载声明
序言 根据实习内容及自身学习情况,文章采用的计算软件是MATLAB。通过在该软件M文件中编写相应程序来解决实习内容中的问题。 MATLAB软件的发展已经30多年,过程中不断的版本升级和功能完善,使得该软件具有非常强大的编程和计算能力,也使其成为当前世界上应用最普遍的计算软件之一。作为一款不断发展的计算软件,MATLAB具有6个非常突出的特点:(1)友好的工作平台和编程环境;(2)简单易用的编程语言;(3)强大的科学计算数据处理能力;(4)出色的图形处理功能;(5)应用广泛的模块集合工具箱;(6)实用的程序接口和发布平台。这些特点保证了MATLAB软件能够长期在工程界和学术界得到应用。 科学计算长期以来都是MATLAB软件擅长的部分。MATLAB的科学计算环境不仅提供了大量用于计算的函数库、工具箱,而且还提供了功能强大的计算绘图能力,其主要的优点有以下几个方面: (1)MATLAB几乎集成了当前所有科学研究领域和工程计算领域的算法,使得软件的科学计算能力非常的强大,同时该软件默认的计算精度是双精度,保证了计算结果的高准确性。 (2)MATLAB将高性能的数值计算和可视化集成在一起,同时提高大量的内置函数和开放的程序和数据接口,使得该软件能够在科学计算、控制系统与信息处理等领域的分析、仿真和设计大展身手。 (3)MATLAB包含各种能够进行常规运算的工具箱,同时具有编程计算功能。 (4)MATLAB能够将计算的结果绘制成二维和三维图形,增强了计算结果的可视化程度。 (5)MATLAB的编程语言是一种解释执行的脚本语言,简单易学。 文章采用MATLAB软件完成数值分析的上机实习时基于以下几个方面的考虑: (1)前期对MATLAB软件有一定程度的了解,能够利用该软件做一些简单的矩阵计算。 (2)MATLAB的编程语言和C++的编程语言有很多相通的地方,而本科时候学过C++编程,对一些基础的编程掌握比较好,容易实现MATLAB编程计算。 (3)MATLAB软件应用非常的广泛,作为一个工科生,非常有必要掌握该软件的一些使用功能。 第一题 写出对一般的线性方程组通用的Gauss消元, Gauss-Seidel迭代程序。并以下面的线性方程组为例进行计算,讨论所得到的计算结果是否与理论一致。 (1) (2) (3) 1. Gauss消元法: 此法是将待求解的线性代数方程组中各个参数表中成对应的矩阵和向量,对矩阵进行有目的的消元,使原来的矩阵经过消元变成一个上三角矩阵,以此求得方程组的最后一个方程的解,然后从后往前回代,逐步求得各个未知数的解。一般线性方程组通用的Gauss消元法的迭代程序见附录一。题例中的求解方式是首先在MATLAB软件中编写M文件,保存运行。然后在MATLAB的Command Window中输入对应的矩阵和向量,进行求解。 题目1在Command Window中的程序: a=[6,2,-1;1,4,-2;-3,1,4]; b=[-3;2;4]; x=Gauss(a,b) 运行结果: x=[-0.7273;0.8081;0.2525] 题目2在Command Window中的程序: a=[1,0.8,0.8;0.8,1,0.8;0.8,0.8,1]; b=[3;2;1]; x=Gauss (a,b) 运行结果: x=[5.7692;0.7692;-4.2308] 题目3在Command Window中的程序: a=[1,3;-7,1]; b=[4;6]; x=Gauss (a,b) 运行结果: x=[-0.6364;1.5455] 2. Gauss-Seidel迭代法 Gauss-Seidel迭代算法类似Jacobi迭代算法,Jacobi迭代算法的一般迭代格式为: 式(1) 在Jacobi迭代算法收敛时,式(1)中第一个方程计算得到的马上投入到第二方程中使用,把前两个方程已经得到的,马上投入到第三个方程中使用,如此循环,通过这种计算线性方程组解的迭代格式称为Gauss-Seidel迭代,其迭代格式为: 式(2) 矩阵形式如式(3)所示: 式(3) 解得,得到的结果如式(4)所示: 式(4) 一般线性方程组通用的Gauss-Seidel迭代法的迭代程序见附录二。题例中的求解方式是首先在MATLAB软件中编写M文件,保存运行。然后在MATLAB的Command Window中输入对应的矩阵和向量,进行求解。 由于Gauss-Seidel迭代法计算时要首先考虑迭代收敛与否的问题,所以在M文件中,通过语言控制,首先对求解的线性方程组的矩阵进行相关计算,得到迭代阵B的谱半径值,如果谱半径值R1,则进行Gauss-Seidel迭代,否则不进行迭代。 题目1在Command Window中的程序
显示全部
相似文档