MATLAB_论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用MATLAB 解决线性代数的计算问题摘要:
本文探讨利用MATLAB来解决线性代数中的计算问题,并对线性代数一些常见的实例进行分析,阅读本文之后,你会发现平时耗费大量时间以及人力去解决的有关于线性代数的问题在MATLAB的帮助下则可以很轻松的解决掉。
关键字:
线性代数、矩阵运算、数据处理
1.引言
MATLAB 产品家族是美国MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。由于其完整的专业体系和先进的设计开发思路,使得MATLAB 在多种领域都有广阔的应用空间,特别是在MATLAB 的主要应用方向——科学计算,已经成为首选工具。
线性代数是处理矩阵和向量空间的数学分支,在现代科学的各个领域都有广泛的应用。随着计算机技术的发展,实现这些线性代数数值计算的计算机算法和软件也在不断发展。MATLAB的矩阵运算功能非常丰富,许多含有矩阵运算的线性代数中的计算问题,在MATLAB中很容易得到解决。
下面我们将结合实例,从几个方面来阐述MATLAB 在线性代数中的应用。
2.矩阵的生成
在线性代数中,我们会接触到大量的矩阵,并且经常需要用到一些特殊形式的矩阵,例如零矩阵、幺矩阵、单位矩阵等,这些特殊矩阵在应用中具有通用性。还有一类特殊矩阵在某些特定领域中得到应用,如希尔伯特矩阵、范德蒙矩阵、帕斯卡矩阵等。下面我们将展示如何用MATLAB轻松的建立一些常见
的矩阵。
【例1】分别建立4x4 、4x10和与矩阵B(大小自定)同样大小的零矩阵。解析:通常我们建立一个矩阵的时候往往要输入大量的数据,如果手动的输入这些矩阵,将会消耗大量的精力和时间,但是有了MATLAB后,我们就可以使用MATLAB中自带的函数来建立一些有规律的矩阵,这样可以大大的减少我们的建立矩阵的操作繁琐程度,现在我们将使用zeros函数建立4x4的零矩阵,该函数只需要输入几个简单的参数就可以完成一个你需要的大型零矩阵。解:(1) 建立一个4x4的零矩阵。
zeros(4)
ans =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
(2) 建立一个4x10的零矩阵
zeros(4,10)
ans =
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
(3)设B为3x2矩阵,则可以用zeros(size(B))建立以个与B同样大小的零矩阵。B=[10 20;30 40;50 60];
zeros(size(B))
ans =
0 0
0 0
0 0
【例2】建立一个7x7的范德蒙矩阵并求它的逆矩阵
解析:范德蒙矩阵的最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列和倒数第二列的点乘积,MTALAB的自带函数vander(V)可以帮助我们以V向量为基础向量生成范德蒙矩阵。
1)C=vander(1:7)
C =
1 1 1 1 1 1 1
64 32 16 8 4 2 1
729 243 81 27 9 3 1
4096 1024 256 64 16 4 1
15625 3125 625 125 25 5 1
46656 7776 1296 216 36 6 1
117649 16807 2401 343 49 7 1
2)求逆矩阵可以使用MATLAB自带的函数inv(X)
inv(C)
ans =
0.0014 -0.0083 0.0208 -0.0278 0.0208 -0.0083 0.0014
-0.0375 0.2167 -0.5208 0.6667 -0.4792 0.1833 -0.0292
0.4097 -2.2500 5.1458 -6.2778 4.3125 -1.5833 0.2431
-2.3125 11.8333 -25.3958 29.3333 -19.2708 6.8333 -1.0208
7.0889 -32.7417 64.8333 -70.6944 44.6667 -15.4083 2.2556
-11.1500 43.9500 -79.0833 82.0000 -50.2500 16.9833 -2.4500
7.0000 -21.0000 35.0000 -35.0000 21.0000 -7.0000 1.0000
MATLAB 提供了若干能产生其元素值有一定规律的特殊矩阵的函数,这类特殊矩阵在有关特定领域中是很有用的。
除了以上例子中的两个之外,还有较为常见的:
ones 函数:产生幺矩阵;
eye 函数:产生单位矩阵;
rand 函数:产生0~1 均匀分布的随机矩阵;
randn函数:产生标准正太分布随机矩阵;
magic函数:产生魔方矩阵;
Hilbert函数:产生西伯尔特矩阵;
Toeplitz函数:产生一个对称的托普利兹矩阵;
Pascal函数:产生一个帕斯卡矩阵。
由于篇幅有限,在此就不一一列举出这些函数的例子,如果需要了解某个函数的使用方法,可以在MATLAB 命令窗口中输入“help + 函数名”形式的命令,就可以得到对应函数的帮助信息。
3.矩阵分析
在线性代数中,矩阵的分析包括矩阵求值、矩阵结构变换、矩阵的特征值和特征向量。
下面将通过一个例子展示MATLAB中强大的数值计算及矩阵操作功能。
【例3】(1)求一个5x5的帕斯卡矩阵并求将其逆时针旋转900后的矩阵;(2)求出帕斯卡矩阵及旋转矩阵的全部特征值构成向量E1和E2。
解:(1)在MATLAB的命令窗口中输入如下命令:
P=pascal (5)
A=rot90(P)
结果如右图所示:
(2)
继续在命令窗口中输入:
E1=eig(P)
E2=eig(A)
最终结果如右图所示,此处
为了节省篇幅,将E1和E2
用转置形式表示。
4.求解方程
在科学计算和工程应用中,有许多问题都涉及线性代数方程组数值的求解。