注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

易拉罐的博客

心静自然凉

 
 
 

日志

 
 

转 MATLAB矩阵操作  

2014-11-30 13:58:06|  分类: matlab仿真 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

特殊矩阵的实现

  • 单位阵的生成

    eye(n)
    eye(m,n)

  • 零矩阵的生成

    zeros(n)
    zeros(m,n)

  • 全1矩阵的生成

    ones(n)
    ones(m,n)

  • 随机元素矩阵函数

    rand(n,m)
    rand(n)

  • 对角矩阵

    diag(V) % V=[1 2 3 4];

  • 伴随矩阵

    compan(P) % p=[1,a1,a2,...,an]

  • 上三角矩阵 下三角矩阵

    triu(B)
    tril(B)

矩阵函数

  • 矩阵的行列式

    det(A)

  • 矩阵求逆

    inv(A)
    pinv(A)

  • 矩阵的迹

    trace(A)

  • 矩阵的秩

    rank(A)

  • 矩阵三角分解

    [L,U] = lu(A)

  • 矩阵奇异值分解

    cond(A)

  • 矩阵的范数

    N = norm(A,选项)

  • 矩阵的特征多项值与特征向量

    [V,D]=eig(A)

  • 矩阵的特征多项式、特征方程和特征根

    P = poly(A)
    V = roots(P)


------------------------------------------------------------------------------------------------------------------

MatLab中的

我们知道,求解线性方程组是线性代数课程中的核心内容,而又在求解线性方程组的过程中扮演着举足轻重的角色。下面我们就利用科学计算软件MATLAB来演示如何使用,同时,也使学生对线性代数的认识更加理性。

一、构造

MatLab中,构造的方法有两种。一种是直接法,就是通过键盘输入的方式直接构造。另一种是利用函数产生

例1.利用pascal函数来产生一个

A=pascal(3)
A=
1 1 1
1 2 3
1 3 6

例2.利用magic函数来产生一个
B=magic(3)
B=

8 1 6
3 5 7
4 9 2

例3.还可以利用函数产生一个4*3的随机

>>c=rand(4,3)

c=

0.9501 0.8913 0.8214

0.2311 0.7621 0.4447

0.6068 0.4565 0.6154

0.4860 0.0185 0.7919

例4.利用直接输入法可产生列、行及常数

u=[3;1;4]
u=
3
1
4

v=[2 0 -1]
v=
2 0 -1

s=7
s=
7

二、的基本运算

1、四则运算

例5.的加法

X=A+B
X=
9 2 7
4 7 10
5 12 8

例6.的减法
Y=X-A
Y=
8 1 6
3 5 7
4 9 2

注: 若二个的大小不完全相同,则会出错!

例如,X=A+u
??? Error using ==> plus

Matrix dimensions must agree。

例7.的乘法

X=A*B

X=

15 15 15

26 38 26

41 70 39

注: 若第一个的列数和第二个行数不相同,这两个就不可以相乘。

例如,X=A*v

??? Error using ==> mtimes

Inner matrix dimensions must agree。

MATLAB中,的除法有两个运算符号,分别为左除“\”与右除“/”,的右除运算速度要慢一点,而左除运算可以避免奇异的影响,它们的作用主要用于求解线性方程组,我们在后面会涉及到的除法。

2、的转置、逆运算及行列式运算

与线性代数中一样,的转置只需用符号“,”来表示即可。

例8.求B的转置

X=B'
X=
8 3 4
1 5 9
6 7 2

线性代数中求逆的运算非常复杂,而在MATLAB中,的逆运算只需要函数“inv”来实现,这大大简化了计算过程。

例9.求A的逆

X=inv(A)

X=

3 -3 1

-3 5 -2

1 -2 1

MATLAB中,求的行列式大小,可用函数“det”实现。

例10.求A的行列式

X=det(A)

X=

1

注: 在求的逆和行列式时,一定要求是一个方,否则会出错!

例如,>>X=inv(u)

??? Error using ==> inv

Matrix must be square。

再如,X=det(u)

??? Error using ==> det

Matrix must be square。

三、的常用函数运算

1.的特征值运算

在线性代数中,计算特征值及特征向量的过程相当麻烦,但在MATLAB中,特征值运算只需要函数“eig”或“eigs”即可。

例11.求A的特征值及特征向量

>>[b,c]=eig(A)

b=

-0.5438 -0.8165 0.1938

0.7812 -0.4082 0.4722

-0.3065 0.4082 0.8599

c=

0.1270 0 0

0 1.0000 0

0 0 7.8730

上例中的bc分别为特征向量和特征值

2.的秩运算

的秩在求解线性方程组中应用非常广泛,而在线性代数中计算的秩也非常复杂,但在MATLAB中,的秩只需要用函数“rank”即可。

例12.求A的秩

>>x=rank(A)

x=

3

3.的正交化运算

MATLAB中,的正交化运算可由函数“orth”计算得到。下面的例子用来求的一组正交基,有了正交基就可以对进行正交化了。

例13.求A的正交基

>>x=orth(A)

x=

-0.1938 0.8165 0.5438

-0.4722 0.4082 -0.7812

-0.8599 -0.4082 0.3065

4.的迹运算

的迹是指主对角线上所有元素的和,在MATLAB中,的迹可由函数“trace”计算得到。

例14.求A的迹

>>x=trace(A)

x=

9

四、特殊的生成

MATLAB中提供了几个特殊,主要包括如下:

1.空

用“[]”表示,空的大小为零,但变量名存在于工作空间中。

例15

>>[]

ans=

[]

2.单位

MATLAB中,单位可用函数“eye(n,m)”实现,其中n表行数,m表列数。

例16

>>x=eye(4,3)

x=

1 0 0

0 1 0

0 0 1

0 0 0

3.全部元素为1的

MATLAB中,全部元素为1的可用函数“ones(n,m)”实现。

例17

>>x=ones(4,3)

x=

1 1 1

1 1 1

1 1 1

1 1 1

4.全部元素为0的

MATLAB中,全部元素为0的可用函数“zeros(n,m)”实现。

例18

>>x=zeros(4,3)

x=

0 0 0

0 0 0

0 0 0

0 0 0

5.魔方

魔方有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等MATLAB提供了求魔方的函数“magic(n)”,其功能是生成一个n阶魔方

6.伴随

MATLAB中,某个的伴随可用函数“compan(A)”实现。

例20

>>u=[1 0 -7 6];

>>x=compan(u)

x=

0 7 -6

1 0 0

0 1 0

注: 函数compan()中的变量必须是向量形式,而不能是

7.随机

随机在数理统计的研究中非常重要,它们表示元素服从某个分布如均匀分布、正态分布的。在MATLAB中,随机可用函数“rand(n,m)”实现。

例21

>>x=rand(4,3)

x=

0.9501 0.8913 0.8214

0.2311 0.7621 0.4447

0.6068 0.4565 0.6154

0.4860 0.0185 0.7919

8.帕斯卡
我们知道,二次项展开后的系数随n的增大组成一个三角形表,称为

杨辉三角形。由杨辉三角形表组成的称为帕斯卡(Pascal),函数pascal(n)生成一个n阶帕斯卡

例22

>>x=pascal(3)

x=

1 1 1

1 2 3

1 3 6

9.范得蒙

MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙

  评论这张
 
阅读(270)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017