octave基本指令3

数据运算

>> a = [1 2; 3 4; 5 6];
>> b = [11 12; 13 14; 15 16];
>> c = [1 1;2 2]
>> a*c %矩阵相乘
ans =
5 5
11 11
17 17 % '.'按位运算
>> a .*b % 点乘,将a中的每一个元素和b中的对应元素相乘
ans =
11 24
39 56
75 96
>> a .^ 2 %将a中每一个元素平方
ans =
1 4
9 16
25 36
>> v = [1; 2; 3]
>> 1 ./ v
ans =
1.00000
0.50000
0.33333
>> log(v) %对每一位取自然对数
ans =
0.00000
0.69315
1.09861
>> exp(v) %对每一位取自然指数
ans =
2.7183
7.3891
20.0855
>> abs([-1; 2; -3]) %对每一位取绝对值
ans =
1
2
3
>> -v %取反
ans =
-1
-2
-3
>> v + ones(length(v),1) %矩阵相加
ans =
2
3
4
>> v + 1 %每一位加1
ans =
2
3
4
>> a' %转置矩阵
ans =
1 3 5
2 4 6 >> a = [1 15 2 0.5]
>> max(a) %求矩阵中的最大值
ans = 15
>> b = [1 7; 8 4; 5 6];
>> [val, ind] = max(b) %val为b中每列的最大值,ind是最大值的索引
val =
8 7
ind =
2 1
>>max(max(b))
ans = 8
>> b < 5 %b中元素是否小于5
ans =
1 0
0 1
0 0
>> find(b<5) %求b中小于5的元素的索引
ans =
1 %1的索引是1
5 %4的索引是5
>> magic(4) %magic矩阵是指每一行列相加之和都相同
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>>sum(b) %每一列之和
ans =
14 17
>> sum(b,1) %每一列之和
ans =
14 17
>> sum(b,2) %每一行之和
ans =
8
12
11
>> prod(b) %乘积
ans =
40 168
>> floor(b) %向上四舍五入
>> ceil(b) %向下四舍五入 >>eye(3)
ans=
1 0 0
0 1 0
0 0 1
>> a=[1 2 3; 4 5 6; 7 8 9;10 11 12]
a =
1 2 3
4 5 6
7 8 9
10 11 12
>> flipud(a) %flipud 表示向下翻转
ans =
10 11 12
7 8 9
4 5 6
1 2 3
>> a=magic(3)
a = 8 1 6
3 5 7
4 9 2 >> b=pinv(a) %a的伪逆矩阵,可视作a的逆矩阵
b = 0.147222 -0.144444 0.063889
-0.061111 0.022222 0.105556
-0.019444 0.188889 -0.102778
>> a*b
ans =
1.0000e+000 -1.2212e-014 6.3283e-015
5.5511e-017 1.0000e+000 -2.2204e-016
-5.9952e-015 1.2268e-014 1.0000e+000
05-11 09:39