创建矩阵32的矩阵A,32的矩阵B,22的矩阵C
以下是矩阵AC
你也可以对每一个元素,做运算 方法是做点乘运算 A.*B,这么做 Octave 将矩阵 ????中
的每一个元素与矩阵 ???? 中的对应元素相乘:A.*B
这里第一个元素 1 乘以 11 得到 11,第二个元素 2 乘以 12 得到 24,这就是两个矩阵的
元素位运算。通常来说,在 Octave 中点号一般用来表示元素位运算。
也可以输入A.^2,表示矩阵A里的每个元素平方运算
设????为 [1; 2; 3] 是列向量,你也可以输入 1./V,得到每一个元素的倒数,所以这
样一来,就会分别算出 1/1 1/2 1/3。
进行log运算
进行自然数e的幂次运算,就是以e为底,已这些元素为幂的运算
下面例子要做转置矩阵 A’
还有一些有用的函数,比如:a=[1 15 2 0.5],这是一个1行4列矩阵,val=max(a),
这将返回????矩阵中的最大值 15。
我还可以写 [val, ind] =max(a),这将返回????矩阵中的最大值存入????????????,以及该值对
应的索引,元素 15 对应的索引值为 2,存入????????????,所以 ???????????? = 2。
特别注意一下,如果你用命令 max(A),????是一个矩阵的话,这样做就是对每一列求最
大值。
我们还是用这个例子,这个 ???? 矩阵 a=[1 15 2 0.5],如果输入 a<3,这将进行逐元
素的运算,所以元素小于 3 的返回 1,否则返回 0。
使用find(a<3),找出a中哪些元素小于3
设 A = magic(3),magic 函数将返回一个矩阵,称为魔方阵或幻方 (magic squares),
它们具有以下这样的数学性质:它们所有的行和列和对角线加起来都等于相同的值。
如果我输入 [r,c] = find(A>=7),这将找出所有????矩阵中大于等于 7 的元素,因此,
???? 和????分别表示行和列,这就表示,第一行第一列的元素大于等于 7,第三行第二列的元素
大于等于 7,第二行第三列的元素大于等于 7。
求和函数sum(a)
把矩阵里的元素都乘起来 prod(a)
floor(a) 是向下四舍五入,因此对于 ???? 中的元素 0.5 将被下舍入变成 0
还有 ceil(a),表示向上四舍五入,所以 0.5 将上舍入变为最接近的整数,也就是 1。
矩阵每一列的最大值
矩阵每一行的最大值
默认情况下
max(A)返回的是每一列的最大值,如果你想要找出整个矩阵 A 的最大值,你可以输入
max(max(A)),或者你可以将???? 矩阵转成一个向量,然后键入 max(A(????),这样做就是把
???? 当做一个向量,并返回 ????向量中的最大值。
sum(A,1) 每一列的总和
flipup/flipud 表示向上/向下翻转
pinv(A) 矩阵A的伪逆矩阵