本文主要是介绍Octave教程(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
矩阵运算
octave:33> A = [1 2; 3 4; 5 6]
A =1 23 45 6octave:34> B = [11 12; 13 14; 15 16]
B =11 1213 1415 16octave:35> C = [1 1; 2 2]
C =1 12 2octave:36> A * C
ans =5 511 1117 17octave:37> A .* B % A中每一个元素与B中对应的元素相乘
ans =11 2439 5675 96octave:38> A .^ 2 % 对A中每一个元素进行平方运算
ans =1 49 1625 36octave:39> V =[1; 2; 3]
V =123octave:40> 1 ./ V % 对V中的每个元素求其倒数
ans =1.000000.500000.33333octave:41> log(V) % 对V进行对数运算
ans =0.000000.693151.09861octave:42> exp(V) % 对V进行e的幂次方运算
ans =2.71837.389120.0855octave:44> -V
ans =-1-2-3octave:45> abs(-V) % 对-V进行求绝对值运算
ans =123octave:46> V + ones(length(V), 1)
ans =234octave:53> a
a =1.00000 15.00000 2.00000 0.50000octave:54> a < 3
ans =1 0 1 1 % a中的元素< 3为真,返回1;反之,返回0
其中,“.”表示元素位运算。
如何求转置矩阵
octave:47> A
A =1 23 45 6octave:48> A'
ans =1 3 52 4 6
一些有用的函数
octave:49> a = [1 15 2 0.5] % a为向量
a =1.00000 15.00000 2.00000 0.50000octave:50> [val, ind] = max (a)
val = 15 % a中的最大值
ind = 2 % a中的最大值所在的位置索引octave:52> max(A) % A每一列的最大值
ans =5 6octave:55> find(a<3)
ans =1 3 4 % 返回a中< 3的元素的位置索引octave:57> A = magic(3)
A =8 1 63 5 74 9 2octave:58> [r, c] = find(A >= 7)
r = % 返回A中>= 7的元素所在的行数132c = % 返回A中>= 7的元素所在的列数123octave:59> sum(a) % 将a中所有的元素加起来求和
ans = 18.500octave:60> prod(a) % 将a中所有元素相乘
ans = 15octave:61> floor(a) % 将a中所有元素向下取整
ans =1 15 2 0octave:63> ceil(a) % 将a中所有元素向上取整
ans =1 15 2 1octave:64> A
A =8 1 63 5 74 9 2octave:65> max(A, [], 1) % A中每一列的最大值
ans =8 9 7octave:66> max(A, [], 2) % A中每一行的最大值
ans =879octave:67> max(A)
ans =8 9 7octave:68> max(max(A)) % A中最大值,也可以采用max(A(:))
ans = 9octave:69> A = [1 2 3; 4 5 6]
A =1 2 34 5 6octave:70> sum(A, 1) % 对A中每一列求和
ans =5 7 9octave:71> sum(A, 2) % 对A中的每一行求和
ans =615octave:72> A = magic(3)
A =8 1 63 5 74 9 2octave:73> sum(A, 1)
ans =15 15 15octave:74> sum(A, 2)
ans =151515octave:76> A .* eye(3)
ans =8 0 00 5 00 0 2octave:77> sum(sum(A .* eye(3)))
ans = 15octave:78> flipud(eye(3))
ans =Permutation Matrix0 0 10 1 01 0 0octave:79> sum(sum(A .* flipud(eye(3))))
ans = 15octave:81> A
A =8 1 63 5 74 9 2octave:82> pinv(A) % 求出A的伪逆矩阵
ans =0.147222 -0.144444 0.063889-0.061111 0.022222 0.105556-0.019444 0.188889 -0.102778
其中,flipud()实现矩阵的上下翻转。
这篇关于Octave教程(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!