matlab数组操作知识点总结

其实如果单从建模来讲,以下大部分函数都用不到,但是这些都是基础。

第一点:数组与矩阵概念的区分

数组:与其它编程语言一样,定义是:相同数据类型元素的集合。

矩阵:在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合

但是需要知道的是,在matlab中经常需要使用到的是二维矩阵

接着了解一下几个常用标点符号的原理

逗号:用来将数组中的元素分开;

分号:用来将矩阵中的行分开;

中括号:界定数组的首与尾。

行数组:如a=[1,2,3,8,-1]

列数组:b=[1;2;3;8;-1]

矩阵:A=[2,4,1;8,-2,4;2,4,6]

二 ,生成矩阵的方法有许多

目前据我所知大概有两种,

1,先建立空矩阵a=[]

然后在工作空间点开a进入数组编辑器,进行编辑

2,用函数创建数组

(1):定步长生成法: x=a:t:b(t步长,省略的是1);

>> x=1:2:19


x =


     1     3     5     7     9    11    13    15    17    19

(2):定数线性采样法:x=linspace(a,b,n),

a,b是数组的第一个和最后一个元素,

n是采样的总点数。

>> x=linspace(1,32,13)


x =


  1 至 9 列


    1.0000    3.5833    6.1667    8.7500   11.3333   13.9167   16.5000   19.0833   21.6667


  10 至 13 列


   24.2500   26.8333   29.4167   32.0000

3,关于数组的一些基础函数

zeros(m):m阶全零方针

zeros(m,n):m*n阶全零方针

eye(m):m阶单位矩阵

矩阵运算:

左除\  AX=B;X=A的-1次方乘以B

右除/  XA=B;X=B乘以A的-1次方

矩阵与常数的运算中,常数通常只能作为除数

求矩阵的逆运算(AB=BA=E(单位矩阵)),也有相应的方法;

通过函数inv可求逆运算

>> A=[1 6 9;4 2 7;8 5 3]


A =


     1     6     9

     4     2     7

     8     5     3


>> B=eye(3)/A


B =


   -0.1070    0.0996    0.0886

    0.1624   -0.2546    0.1070

    0.0148    0.1587   -0.0812


>> inv(A)


ans =


   -0.1070    0.0996    0.0886

    0.1624   -0.2546    0.1070

    0.0148    0.1587   -0.0812

通过det函数可求矩阵的行列式

>> a=magic(3)


a =


     8     1     6

     3     5     7

     4     9     2


>> det(a)


ans =


  -360

矩阵的幂运算可通

指数函数expm1 expm2 expm3 expm可以很方便地完成矩阵的运算

矩阵指数是方块矩阵的一种矩阵函数,与指数函数类似。矩阵指数给出了矩阵李代数与对应的李群之间的关系。

Xn×n的实数或复数矩阵。X的指数,用

 matlab数组操作知识点总结 

或exp(X)来表示,是由以下幂级数所给出的n×n矩阵:

matlab数组操作知识点总结

以上的级数总是收敛的,因此X的指数是定义良好的。注意,如果X是1×1的矩阵,则X的矩阵指数就是由X的元素的指数所组成的1×1矩阵。

expm 常用矩阵指数函数
expm1 Pade法求矩阵指数
expm2 Taylor法求矩阵指数
expm3 特征值分解法求矩阵指数

这个大家有个印象就行了,记不住也没关系,实际上一般用不到

矩阵的对数运算(logm)

矩阵的开方运算sqrtm

//以上关于对数,指数,开方运算实际运用场景并不大

magic是指行和列包括主对角线,副对角线的相加都为一个定值得函数

三,矩阵的基本函数运算

[x,y]=eig(A) 可以求出特征值和特征向量

拓展:

/*

在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有5种:

  1. E=eig(A):求矩阵A的全部特征值,构成向量E。

  2. [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。

  3. [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

  4. E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E

  5. [V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成N×N阶满秩矩阵,且满足AV=BVD。

  6. 广义特征值

  7. 如将特征值的取值扩展到复数领域,则一个广义特征值有如下形式:AνBν

  8. 其中AB为矩阵。其广义特征值(第二种意义)λ 可以通过求解方程(AB)ν=0,得到det(AB)=0(其中det即行列式)构成形如AB的矩阵的集合。其中特征值中存在的复数项,称为一个“丛(pencil)”。

  9. B可逆,则原关系式可以写作

  10.  matlab数组操作知识点总结 

  11. ,也即标准的特征值问题。当B为非可逆矩阵(无法进行逆变换)时,广义特征值问题应该以其原始表述来求解。

*/

奇异值函数

svd svds

范数函数

norm(X,P)

P=1,1范数

P=2, 2范数

P=inf 无穷范数

P=fro F范数

秩函数:

rank 求秩

迹函数

矩阵上所有对角线的元素之和为矩阵的迹

trace

正交空间函数

利用orth可以求矩阵的正交基

条件数函数

cond 计算矩阵的条件数的值

condest 计算矩阵的1的范数条件数的估计值

rcond 计算矩阵条件数的倒数值

伪逆函数

pinv 求解病态问题时,避免产生伪解,

通用的函数运算

funm(A,'funname')

未完待续




      本文转自眉间雪 51CTO博客,原文链接:http://blog.51cto.com/13348847/1983681,如需转载请自行联系原作者




上一篇:haproxy配置监控redis主备切换(转)


下一篇:C语言 gets()和scanf()函数的区别