4

Octave 笔记

 3 years ago
source link: https://blog.csdn.net/tkokof1/article/details/108359018
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Octave 笔记

tkokof1 2020-09-02 11:28:27 74

简单用了一下 Octave,发现用他来进行数据运算、矢量绘制等操作的时候还是非常方便的,在此做一点简单笔记.

% 或者 # 为单行注释

# this is line comment
% this is line comment

%{ 与 %} 或者 #{ 与 #} 为块(多行)注释

%{
    block comment
%}

#{
    block comment
#}

在 Octave 中我们可以直接创建向量,使用 空格 或者 逗号 来分隔列;使用 分号来分隔行.

>> v = [1, 2, 3] % same as v = [1 2 3]

v =
   1   2   3

上面的 v 便是(1行3列)行向量,而下面的 v 则是(3行1列)列向量

>> v = [1; 2; 3]

v =
   1
   2
   3

通过综合使用逗号(或空格)和分号,我们就可以创建矩阵了:

>> v = [1, 2; 3, 4]
v =
   1   2
   3   4

另外,冒号还能用于表示范围区间,可以方便我们创建向量和矩阵:

  • a : b 表示 从 a 到 b
  • a : b : c => 表示 从 a 到 c, 中间的间隔为 b
>> v = [1 : 3; 4 : 6]
v =
   1   2   3
   4   5   6
   
>> v = [1 : 2 : 5; 2 : 2 : 6]
v =
   1   3   5
   2   4   6

我们可以按索引号来直接访问元素:

v = [1, 2, 3]

% v 是行向量, v(2) 访问直接其第二列元素
>> v(2)
ans =  2
v = [1; 2; 3]

% v 是列向量, v(2) 访问直接其第二行元素
>> v(2)
ans =  2
v = [1 : 3; 4 : 6; 7 : 9]
   
% v 是矩阵, A(2, 2) 访问其第二行第二列元素
>> v(2, 2)
ans =  5
  • 访问单行(或单列)

借助之前提到的冒号,我们可以直接访问单行(或单列)

v = [1 : 3; 4 : 6; 7 : 9]
   
% v 是矩阵, A(2, :) 访问其第二行所有元素
>> v(2, :)
ans = 
   4   5   6
   
% 如果直接使用 A(2) 访问的话,返回的是第二行的第一个元素
>> v(2)
ans = 4
  • 访问多行(或多列)

通过向量索引的方式,我们可以访问多行(或多列)

v = [1 : 3; 4 : 6; 7 : 9]

% v(:, [1, 3]) 访问 v 中 第一列 和 第三列的所有元素
>> v(:, [1, 3])
ans =
   1   3
   4   6
   7   9

% v([1, 3], :) 访问 v 中 第一行 和 第三行的所有元素
>> v([1, 3], :)
ans =
   1   2   3
   7   8   9

% v([1, 3], [1, 2]) 访问 v 第一行 和 第三行 中的 第一列 和 第二列 元素
>> v([1, 3], [1, 2])
ans =
   1   2
   7   8

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK