PS:主要是讲解矩阵的相应的实现方法,其实MATLAB的很大一部分的优点,就是集成了矩阵级别的运算,并以此为特色,能够进行多维空间上的验证。算法
让咱们懂得了原来线性代数如此有用= - =。数组
还能够有复数矩阵的创建,有两种方法:函数
(1)直接按照直接输入法来创建矩阵,可是元素能够直接打成复数的形式(a+bj)性能
(2)还有就是分别创建一个实部还有一个虚部的矩阵,而后经过(a+bj)就能够获得。spa
就是把创建的矩阵存在一个文件里,下次直接调用就能够了。而后方法以下(下一篇日志会叙述)3d
(1)e1:e2:e3日志
其中e1为初始值,e2为步长,e3为终止值(只取到小于或者等于终止值就能够了),blog
若是e2省略,那么默认步长为1;排序
(2)lidspace(a,b,n)ip
a,b是生成向量的第一个和最后一个元素,n是元素总数。
五、经过MATLAB集成的交互界面进行建立(最快)
(1)找到新建变量,并单击
(2)而后就能够进行新建变量了
1处能够改变变量名字,2处能够进行矩阵的输入,3处能够查看矩阵在内存中是否保存,没有的话请按Ctrl+s。
(1)能够直接经过下标进行修改和访问,若是超过了原来矩阵的维度,会自动扩充,而且未填充的元素置为0。
(2)矩阵元素是按照列来存储,先第一列而后第二列。而后下标和序号能够一一对应,而后由对应的sub2ind和ind2sub求得
(1)用冒号表达式来得到子矩阵
a、a( : ; j )表示取a矩阵的第j列的所有元素;一样的a(i;:)表示取a矩阵第i行的所有元素。也能够直接饮用对应下标取单独的元素。
b、里面能够嵌套冒号表达式,这样子就能够取出一个小的矩阵。例子以下
c、end表示最后一个数。
(2)利用空矩阵删除矩阵的元素
clear是把变量从空间中删除,而[]则是赋值成一个空的矩阵。
一样可使用引用,进行数组的置空
zeros | 产生0的矩阵 |
ones | 产生1的矩阵 |
eye | 产生对角矩阵 |
rand | 产生0~1间均匀分布的随机矩阵 |
randn | 产生矩阵为0,方差为1的标准正态分布随机矩阵 |
(1)魔方矩阵(每行每列每对角线都相等)
magic(n): 生成n阶的魔方阵。
(2)范德蒙德矩阵
(3)希尔伯特矩阵
hilb(n) n阶希尔伯特矩阵
invhilb(n) n阶希尔伯特的逆矩阵
(4)托普利兹矩阵
toeplitz(x,y)
(5)伴随矩阵
(1)加减
(2)乘法
(3)除法
(4)乘方
这些运算主要都要服从矩阵的运算法则。维度不符合matlab会进行报错。
二、点运算
格式是在正常的符号前面加上一个“.”就行了。
运算的结果就是对矩阵中的每一个元素相应的运算就行了,
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
~= | 不等于 |
(1)标量对标量:直接进行运算
(2)矩阵对矩阵:每一个元素对应进行运算
(3)标量对矩阵:标量对每一个元素进行运算
最后是真的为“1”,假的为“0“。
PS:在这里记下一个求求余数的函数rem
PS:运算符的优先级排序:算术>关系>逻辑
(1)提取矩阵对角线上的元素: diag(A), diag(A,k)
(2)构造对角阵: diag(A)
对每行每列进行相同乘数的运算,用对角阵相乘,左乘(对每行进行相乘),右乘(对每列进行相乘)
(1)上三角阵
triu(A):将A变成一个上三角矩阵(下半边为0)
triu(A,k):将矩阵A的第k条对角线以上的元素
(2)下三角矩阵
tril(A)
tril(A,k)
(1)转置运算符是单撇号(’)
(2)做用就是求转置,可是请注意不是求逆矩阵。
(1)运算符号:rot(A,k)
就是将矩阵逆时针旋转k*90°的角度。若是单单旋转90°就能够直接省略k这个参数。
(1)运算符号:fliplr(A)
(1)运算符号:flipud(A)
(1)定义:A·B=B·A=E,就称A和B互为逆矩阵。
(2)运算函数:inv(A)
(3)应用:能够用来求解线性方程组
(1)定义:咱们知道在矩阵不是满秩的时候是没有逆矩阵的。可是能够找到一个与A的转置矩阵A`同型的矩阵B,使得知足矩阵的逆的定义。此时称矩阵B为矩阵A的违逆。
(2)运算函数:pinv(A)
运算函数:det(A)
(1)定义:就是一个矩阵的行数和列数线性无关的数目
(2)运算函数:rank(A)
(1)定义:就是矩阵对角阵上的元素之和。
(2)运算函数:trace(A)
一、定义:用来度量矩阵或者向量在某种意义下的长度。
二、向量的3种经常使用范数以及计算函数
三、范数的三个性质:
(1)非负性
(2)齐次性
(3)知足施瓦茨不等式(a,b)<=(a,a)(b,b)
四、矩阵的范数及其计算函数
运算函数同向量的。
(1)定义:在求解线性方程组时,若是系数的微小改变会致使最终结果的很大改变,称系数矩阵为病态矩阵,而不会致使最终结果的很大改变的话,则是良性矩阵,而后条件数即是来衡量这一状况的一个参数。
条件数等于A的范数与A的逆矩阵的范数的乘积。这样的话,条件数老是大于1的,若是越接近于1的话,性能越好。
(2)函数为:
(1)用单引号括起来就是字符串。
(2)而后字符串能够写成一个矩阵,可是一个字母是一个元素,因此必定要保证矩阵的维数是正确的。
(3)若是字符串自己有单引号,就要加2个单引号。
(4)较长的字符串能够用字符串向量表示,及用[]括起来。
一、彻底储存方式:就是以前咱们使用的方式
(1)A=sparse(S):将矩阵S转化为稀疏储存方式的矩阵A
(2)sparse的其余调用方式:
sparse(m,n):生成一个m*n的全部元素都是0的稀疏矩阵
sparse(u,v,S):u,v,S是3个等长的向量。S是要创建的稀疏矩阵的非零元素,u,v是行列下标,而后S是相应的元素值。
(3)其余操做的方式:
[u,v,s]=find(A):返回矩阵A中非零元素的下标和元素。
full(A):返回和稀疏储存矩阵A对应的彻底储存方式矩阵。