1. 数组的运算
数组运算是指数组对应元素之间的运算,也称点运算
1.1 数值运算
- 取随机数
利用取整和求余函数,可得到整数或精确到小数点后的第几位。
%生成随机数
x32=100-round(20*rand(1,1))%产生[-100 100 ]之间的随机整数
x32=100-round(20*rand(1,1))/100 %产生[-100 100 ]之间的随机数,精确到0.01
1.2 向量的点积叉积混合积
1.2.1 点积
向量的点积是指两个向量在其中某一个向量方向上的投影的乘积,通常可以用来引申定义向量的模
点积在数学中,又称数量积(dot product; scalar product),是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。 [1]
两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]
的点积定义为:
a·b=a1b1+a2b2+……+anbn
。
使用矩阵乘法并把(纵列)向量当作n×1 矩阵,点积还可以写为:
a·b=(a^T)*b
,这里的a^T指示矩阵a的转置。
%点积计算
%dot()
dot(a, b)返回向量a和b的数量点积。a和b必须同维。当a和b都为列向量时,dot(a, b)同于a.*b。
dot(a, b, dim)返回向量a和b在维数为dim的点积
1.2.2 叉积
在高等数学中,向量的叉积表示过两相交向量交点的且垂直于两向量所在平面的向量。在MATLAB中,向量的叉积由cross函数
来实现。
c=cross(a, b)返回向量a和b的叉积向量,即c=a×b。a和b必须为三维向量。
c=cross(a, b)返回向量a和b的前3位的叉积。
c=cross(a, b, dim)表示当向量a和b为n维数组时,返回a和b的dim维向量的叉积。a和b必须有相同的维数,且size(a, dim)和size(a, dim)必须为3。
c=cross(a,b)
1.2.3 混合积
dot()函数和cross()函数混用就行,顺序不能错
2.数组的保存和载入
MATLAB中提供了内置的把变量保存在文件中的方法,最简单易用的是将数组变量保存为二进制的.mat文件。用户可以通过save命令将工作区中指定的变量存储在.mat文件中。
save <filename> <var1> <var2>....
把变量存到filename.mat文件中
load <filename> <var1> <var2>....
把filename.mat中的变量加载到工作区
3.矩阵运算
3.1 加减
条件:
矩阵同型或者其中一个是标量
3.2 乘积
- 使用
*
运算符 - 其次,矩阵满足矩阵维数的条件:如果矩阵A是一个m×p矩阵,矩阵B是p×n矩阵,它们可以相乘产生m×n矩阵
在MATLAB里,单引号表示复共轭转置,一个点加单引号“.′”表示普通转置
3.3 矩阵除法
- \”运算符号表示两个矩阵的左除,
- “/”表示两个矩阵的右除
A\B即由Gauss消去法来获得线性方程AX=B的解X,即X=A-1B。如果矩阵不是方阵,也可以求出A\B,这时将使用最小二乘法来求取AX=B中的矩阵X。
X=B/A是X*A=B的解,对于非奇异方阵A, B/A等效为BA-1。
X=A\B就是A*X=B的解
X=B/A就是X*A=B的解
4.点运算
点运算符有.*、./、.\、.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维数相同
5.矩阵的指数和对数运算
MATLAB提供了两个专门的函数expm和logm来实现矩阵的指数运算和对数运算。
6.矩阵的乘方运算和开方运算
MATLAB中矩阵的乘方可以由符号“^”实现,而矩阵的开方则由sqrtm函数实现