Matlab在数值计算方面的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab在数值计算方面的应用
摘要:Matlab的名称源自Matrix Laboratory,它的首创者是在数值线性代数领域颇有影响的Cleve MoleAr 博士。Matlab是一种科学计算软件,专门以矩阵的形式处理数据。目前,Matlab软件已经成为了应用最广泛的科学计算工具之一。Matlab可以用来进行如下工作:
●数值分析;
●数值和符号计算;
●工程与科学绘图;
●控制系统的设计与仿真;
●数字图像处理;
●数字信号处理;
●通讯系统设计与仿真;
●财务与金融工程。
尤其是在电子信息领域学科和数学建模领域中,Matlab已经成为了学术研究、论文写作的有力工具。
Matlab成为许多学科的解题工具,将Matlab融入其它课程的学习中,可以大大提高运算效率和准确性。随着计算机的普及和国民文化素质的整体提高,科学计算将会更加普及。Matlab在矩阵及数值计算、多项式和线性代数、符号数学的基本方法等方面都有较好的应用下面我从两点阐述Matlab在数学上面的应用:一、Matlab在数值运算上的应用;二、Matlab在绘图方面的应用。
Matlab的数值运算功能
Matlab是一个包含计算算法的集合。其拥有800多个工程中要用到的数学运算函数,可以方便实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算相同的情况下,使用Matlab的编程工作量会大大减少。Matlab的这些函数集包括从最简单的函数到诸如矩阵、特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题大致包括矩阵运算和现行方程组的求解,微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、复数的各种运算、三角函数和其它初等数学运算、多维数组操作以及建模动态仿真等。
1.数组运算
一般的,数组是有序数据的集合,在大多数编程语言中,数组的每一个成员(元素)都属于同一种数据类型,它们使用同一个数组名称和不同的下标来惟一确定数组中的成员(元素)。其中,下标是指数组元素在数组中的序号。
对于MATLAB 而言,大多数数据类型的数组每一个元素都是同一个数据类型的元素,而对于其特殊的元胞数组则不然。
和一般的编程语言类似,Matlab语言的数组也有一维、二维和多维数组的区别。而在Matlab中一般不存在数组的数组,除非在Matlab 语言中使用Java 数据对象。如:
已知A=[12 21 56],B=[34 45 78]。求A-B,A+B,A.*B,A/B的值。代码:
>> A=[12 21 56],B=[34 45 78],C=A-B,D=A+B,E=A.*B,F=A/B, 运行结果:
A =12 21 56
B =34 45 78
C =-22 -24 -22
D =46 66 134
E =408 945 4368
F =0.6175
注意:两个数组运算时,其元素个数必须相同。而且数组的表示和矩阵有惊人的相似,所以数组的乘表示为(.*).
2.三角函数运算
往往我们需要计算三角函数的值的时候,都是计算一些特殊角的值活着用计算器计算取其近似值。但是,在工程中我们涉及到的三角函数往往都不是特殊角的函数值,而且一般情况下都是到了最后才需要一个非常精确的值,但计算器一般都只能一个一个的算取其近似值,最后的计算值已经与我们实际需要的有了很大的误差。介于这种
情况,我们首选的应该是Matlab。
例如:计算 sin(7)+cos(9)+tan(5) 的值
用计算器逐个计算求和值则为:0.08745 (在数值计算中保留五位已经算是过多的了)
用Matlab计算则为:
3.矩阵运算
在Matlab中,矩阵的概念就是线性代数中定义的矩阵的概念——矩阵是用一对圆括号或者方括号括起来,符合一定规则的数学对象。例如:
B=[b11 b12 b13;b21 b22 b23;b31 b32 b33]
就是一个三行三列的方阵。对于编程语言,矩阵就是二维的数组,而由于一般的编程语言仅能处理单个元素的运算,对于矩阵或者向量的处理,很难按照线性代数的运算法则,将其作为一个整体来处理,从而增加了程序员的工作量,也降低了程序的执行效率和开发周期。把Matlab运用到矩阵的运算中就可以很好的解决这一难题。
例如:已知A=[1 2 3;5 6 8;14 15 16],B=[11 12 13;2 3 5;6 5 4],求A',B',A*B, B*A,A/B的值。
解:代码:
>> A=[1 2 3;5 6 8;14 15 16],B=[11 12 13;2 3 5;6 5 4],C=A',D=B',E=A*B,F=B*A,G=A/B;
结果:
联系矩阵,还可以用Matlab来求线性方程的解。如:
x1-4x2+2x3=0
2x2-x3=0
-x1+2x2-x3=0
解:
3.多项式的生成与表达
已知向量A=[1 -34 -80 0 0],用此向量构造一多项式。
(x-1)(x+34)(x+80)(x-0)(x-0)
以上只是简单的例子,同样的Matlab进行复杂的运算也是非常方便的,为科学研究和学习提供了极大的方便。
Matlab在绘图方面的应用
Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图形处理、动画和表达式作图,可用于科学计算和工程绘图。
就说个我们现实中的例子。比如,老是用PPT给同学们展示三角函数