matlab笔记3--数组与矩阵

1.通过冒号创建了规定步长的数组,可正序可逆序,注意的是步长是负的话后数必须大于前数。

2.数组起始跟10的次幂有关系的话,利用logspace(a,b,n)意思是开始10^a,结尾10^b,形成共n个元素的等比数列,不写n的话默认50。

3.跟1相似,为了建立等差数组,可以利用linspace(a,b,n)意思是创建行向量,起点为a,终点为b,形成总数为n的线性间隔向量。

4.数组的运算,就是数组内每个元素之间的运算,但是必须有数组维度相同的前提,不然一定会报错。其中乘法需要a行等于b列,得到的是一个值,除法则是a,b行列互相对应。

5.用.*和./表示数组的对应元素的乘除,而不是矩阵的乘除运算。

6.除法分左除和右除,符号为./和.\ 其中A./B = B.\A 其中A为被除数,b为除数。

7.用.^表示数组的乘方运算,dot(A,B)表示数组的点积运算,dot(A,B)=sum(A .* B)

小贴士:

在数学中,数量积(dot product; scalar product,也称为点积、点乘)是接受在实数R上的两个向量并返回一个实数值标量二元运算。它是欧几里得空间的标准内积

两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]的点积定义为:

a·b=a1b1+a2b2+……+anbn。

使用矩阵乘法并把(纵列)向量当作n×1 矩阵,点积还可以写为:

a·b=a*b^T,这里的b^T指示矩阵b的转置。

8.数组的比较就是维度相同的数组每个数据逐一比较返回0,1

9.数组的逻辑运算也是维度相同的数组元素逐一比较,返回对应逻辑值比较的结果(&,|,~)与:全非零返回1,或:有一个不为零就返回1

10.试验矩阵

    希尔伯特矩阵:hilb(n)或者invhilb(n)(后者为其逆矩阵整数矩阵)  称其为H阵,Hij=1/(i+j-1),他们是对称矩阵

    托普利兹矩阵:toeplitz(k,r)生成非对称~矩阵,第一列为k,第一行为r,其余元素等于其左上角元素。例如 toeplitz(2:5,2:2:8)

    0~1均匀分布随机矩阵:rand(m,n,...)写几个就是几维,默认写一个数是二维方阵。生成的是0~1间均匀分布的矩阵。或者rand(size(A))意思是与矩阵A相同规模的随机方阵。

    标准正态分布随机矩阵:randn(m,n,...)产生均值为0,方差为1的随机矩阵。

    魔方矩阵:magic(n)每行每列和 两条对角线上的元素之和相同。

    帕斯卡矩阵:pascal(n)就是从左上角到右下角的杨晖三角排列方式,逆置不咋明白

    范德蒙矩阵:vander(v)矩阵的列是向量v的幂,A(i,j)=v(i)^(n - j)n是向量的长度

11.利用[ ]构造矩阵或者合并矩阵,比如c=[a b] 或者 c=[a : b]但是要保证合并后的矩阵是矩形的

12.矩阵行列的删除就是赋值空矩阵即可 A(2,:)= [ ]这是删除了矩阵的第二行

13. A.'表示矩阵的转置,如果是实数矩阵,则A'和A.'相同

14.矩阵加减法运算也是对应维度相同即可,直接写A±B

15.数与矩阵的乘法就是这个数和矩阵内部各个数字相乘,矩阵乘矩阵需要满足行列的对应关系(见p83) 

16.矩阵除法分为左除和右除两种

17.矩阵幂运算的乘法属于矩阵乘法,而不是单个元素的乘法,A^n = A*A*A*A*A*...*A(n个)

18.查找矩阵非零元素用find(A),返回的是非零元素的 单 下标

19.通过sort(A)为矩阵进行升降排序,通过sum求和,sum(sum())可以求出矩阵所有元素的和

20.prod和cumprod可以求积,后者输出的是矩阵

21.diff求矩阵的差分

关于矩阵的运算,全部都是调用函数进行计算,先暂时不关注,待自习阅读线代之后再进行学习

猜你喜欢

转载自blog.csdn.net/legendary_idiot/article/details/80911095