Octave基本语法(一)——矩阵 - zLulus/My_Note GitHub Wiki

定义矩阵

1.用逗号或者空格分隔一行内的数据,用分号或者回车分隔行

A = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ]

输出结果如下:

A =
    1    1    2
    3    5    8
   13   21   34

2.创建三行两列的矩阵,每个数据是介于0~1的随机数

B = rand (3, 2)
B =
   0.20491   0.74445
   0.96164   0.55638
   0.94840   0.69130

比较

对矩阵的每个数字进行比较 将A矩阵的每一个数字与3进行比较,如果3大于这个数字,输出1(true),如果3小于这个数字,输出0(false)

3>A

输出结果如下:

ans =
  1  1  1
  0  0  0
  0  0  0

乘法

C = A * B

输出结果如下:

C =
    3.0633    2.6834
   13.0101   10.5456
   55.1038   44.8660

逆矩阵

A'

输出结果如下:

ans =
    1    3   13
    1    5   21
    2    8   34

解线性方程组

比如解线性方程组Ax = B,用运算符\

x = A \ B

这在概念上等同于inv(A)* B,但是避免直接计算矩阵的逆
举个栗子:
氢气与氧气可以生成水,如下所示:

H2 + O2 --> H2O

但是根据质量守恒定律,每个类型的分子数量在方程的左侧和右侧平衡,则加入变量x1,x2:

x1*H2 + x2*O2 --> H2O
H: 2*x1 + 0*x2 --> 2
O: 0*x1 + 2*x2 --> 1

通过Octave求解:

A = [ 2, 0; 0, 2 ];
B = [ 2; 1 ];
x = A \ B

得到结果:x1=1,x2=0.5

x =
   1.00000
   0.50000

官方学习文档

https://www.gnu.org/software/octave/doc/interpreter/