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