分類: Octave

Octave 資料容器(Data Containers)

建立結構(Creating Structures)

要建立資料結構除了使用句點(.)的方式之外,亦可使用 struct() 函數來建立資料結構。struct() 函數的輸入參數是兩兩一對:第一個是資料結構的欄位名稱,配上第二個儲存資料的純量(scalar)或巢狀陣列(cell array),例如:

struct ("field1", 1, "field2", 2)

輸出為

ans =
{
  field1 =  1
  field2 =  2
}

struct() 輸入的參數中,儲存資料的參數同時含有純量與巢狀陣列時,Octave 會將純量自動轉變為相同大小的巢狀陣列,例如:

s = struct ("field1", {1, "one"}, "field2", {2, "two"}, "field3", 3);

資料結構 s 的內容如下:

s.field1

輸出為

ans =  1
ans = one
s.field2

輸出為

ans =  2
ans = two
s.field3

輸出為

ans =  3
ans =  3

若要建立包含一個獨立巢狀陣列的資料結構,必須將巢狀陣列放入另一個巢狀陣列中,例如:

struct ("field1", {{1, "one"}}, "field2", 2)

輸出為

ans =
{
  field1 =

  {
    [1,1] =  1
    [1,2] = one
  }

  field2 =  2
}
struct ("field", value, "field", value, ...)

struct() 函數可以建立資料結構並初始化所儲存的資料。 若參數 value 是巢狀陣列,則會建立結構陣列,其中所有的巢狀陣列必須有相同的維度,單一元素的巢狀陣列或是純量會被自動複製成相同長度的巢狀陣列。若 value 指定為空巢狀陣列,則會產生空結構陣列。

struct() 函數的參數若指定為物件,則會傳回此物件內部的資料結構。
isstruct (expr)

isstruct(expr) 函數會判斷 expr 是否為資料結構。

Page: 1 2 3 4 5 6 7 8 9 10 11 12

G. T. Wang

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

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

Recent Posts

[開箱] Marttiini MFT G10 芬蘭北歐直刀

本篇是 Marttiini M...

3 年 ago

[開箱] 一般打火棒、鎂塊打火棒

本篇是鎂塊打火棒與一般普通打火...

3 年 ago

[開箱] 瑞典 BAHCO 396-Lap 魚牌軍規摺疊鋸

本篇為瑞典 BAHCO 396...

3 年 ago

[DIY] 野炊水煮蛋、紅豆湯記錄

本篇記錄今年過年期間帶阿玄在家...

3 年 ago

[竹北素食] 善菓堂 SHAN GUO TANG

本篇是我最近去竹北善菓堂用餐時...

3 年 ago

Linux 複製檔案 cp 指令用法教學與範例

本篇介紹如何在 Linux 系...

3 年 ago