其实如果单从建模来讲,以下大部分函数都用不到,但是这些都是基础。
第一点:数组与矩阵概念的区分
数组:与其它编程语言一样,定义是:相同数据类型元素的集合。
矩阵:在数学中,矩阵(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可以很方便地完成矩阵的运算
矩阵指数是方块矩阵的一种矩阵函数,与指数函数类似。矩阵指数给出了矩阵李代数与对应的李群之间的关系。
设X为n×n的实数或复数矩阵。X的指数,用
或exp(X)来表示,是由以下幂级数所给出的n×n矩阵:
以上的级数总是收敛的,因此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种:E=eig(A):求矩阵A的全部特征值,构成向量E。
[V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。
[V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。
E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E。
[V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成N×N阶满秩矩阵,且满足AV=BVD。
广义特征值
如将特征值的取值扩展到复数领域,则一个广义特征值有如下形式:Aν=λBν
其中A和B为矩阵。其广义特征值(第二种意义)λ 可以通过求解方程(A-λB)ν=0,得到det(A-λB)=0(其中det即行列式)构成形如A-λB的矩阵的集合。其中特征值中存在的复数项,称为一个“丛(pencil)”。
若B可逆,则原关系式可以写作
,也即标准的特征值问题。当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')
未完待续