分類: Octave

Octave 資料類型

物件尺寸(Object Sizes)

以下的函數可以用來查詢或設定變數的尺寸,這些函數可以用於任何類型的變數,在無法判別時會傳回 -1,例如資料結構並沒有行數與列數,因此若將資料結構傳入 rows()columns() 會傳回 -1

ndims (x)

ndims() 函數會傳回陣列(array)的維度。trailing singleton dimensions 會被忽略。

在 Octave 中任何陣列的維度都大於或等於 2(與 Matlab 相同)。
columns (x)

columns(x) 函數會傳回 x 的行(column)數。

rows (x)

rows(x) 函數會傳回 x 的列(row)數。

numel (x)

numel(x) 函數會傳回在 x 中元素(element)的數量。

length (x)

length(x) 會傳回 x 的長度,一個矩陣的長度定義為行數與列數中較大的那個值(這個奇怪的定義是為了要與 Matlab 相容)。

size (x)
size (x, n)

size(x) 會傳回 x 的列(row)數與行(column)數,當只由一個輸出參數時,會輸出一個列向量,例如:

a = [1, 2; 3, 4; 5, 6]
a_size = size(a)

當有多個輸出參數時,第一個是列數,第二個是行數,例如:

[nr, nc] = size(a)

size(x, n) 函數加入第二個參數 n 可以指定要輸出的維度,例如:

size(a, 2)

這樣會傳回矩陣 A 的行數。

isempty (x)

isempty(x) 函數用來判斷 x 是否為空矩陣(empty matrix,即行數或列數等於 0 的矩陣),若為空矩陣則傳回 1,否則傳回 0

isnull (x)

isnull(x) 函數用來判斷 x 是否為 null 的矩陣、字串、單引號之字串。例如:

isnull([])

將陣列的某個元素指定為 null 會將此元素從陣列中移除,例如:

a = [1, 3, 5, 7, 9]
a(2) = []
isnull() 函數主要用於自行定義的類別將索引指定(indexed assignment)運算子多載化(overloading)的時候。
sizeof (x)

sizeof(x) 傳回 x 所佔的記憶體大小,單位為 byte。

size_equal (a, b, ...)

size_equal(x) 函數判斷所有傳入變數的維度是否都相同,若相同則傳回 1,否則傳回 0。若只有傳入一個變數,則傳回 1。例如:

a = [1, 2]
b = [3, 4]
c = 5
size_equal(a, b)
size_equal(a, b, c)
squeeze (x)

squeeze(x) 函數會將 x 的資料保留但去除 singleton dimensions 並傳回結果。例如:

x = rand(2, 1, 3)
squeeze(x)

Page: 1 2

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: 數學

Recent Posts

[DIY] 自製凡士林火種

這裡介紹如何利用簡單的凡士林與...

2 年 ago

[DIY] 自製火影木葉、砂忍者村標誌雕刻木牌

本篇記錄我用路邊撿來的樟木與龍...

2 年 ago

收集龍眼木修剪枝幹用於木頭工藝

最近打算帶著阿玄做一些木工作品...

2 年 ago

[DIY] 樟木手工自製迷你手裏劍(忍者武器)

本篇記錄阿玄第一次使用木工工具...

2 年 ago

[DIY] 龍眼木手工自製木槌

本篇記錄我用自己砍的龍眼木還有...

2 年 ago

[DIY] 樟木手工自製苦無(忍者武器)

本篇記錄我自己用樟木的枝幹,以...

2 年 ago