如上所述(详见索引元胞数组),可以使用将元胞数组的元素提取到逗号分隔的列表中{
和}
运算符。通过用包围此列表[
和]
,它可以连接到一个数组中。例如
a = {1, [2, 3], 4, 5, 6}; b = [a{1:4}] ⇒ b = 1 2 3 4 5
类似地,可以创建一个新的元胞数组,其中包含用{}
。通过用'包围列表{和}将创建一个新的元胞数组,如下例所示:
a = {1, rand(2, 2), "three"}; b = { a{ [1, 3] } } ⇒ b = { [1,1] = 1 [1,2] = three }
此外,单元元素(通过访问{}
)可以直接传递给函数。元胞数组中的元素列表将作为参数列表传递给给定的函数,就好像它是从元素作为单独的参数调用的一样。两个呼叫printf
在以下示例中是相同的,但后者更简单并且可以处理任意大小的元胞数组:
c = {"GNU", "Octave", "is", "Free", "Software"}; printf ("%s ", c{1}, c{2}, c{3}, c{4}, c{5}); -| GNU Octave is Free Software printf ("%s ", c{:}); -| GNU Octave is Free Software
如果在赋值的左侧使用,则使用生成逗号分隔的列表{}
可以赋值给。例如
in{1} = [10, 20, 30]; in{2} = inf; in{3} = "last"; in{4} = "first"; out = cell (4, 1); [out{1:3}] = in{1 : 3}; [out{4:6}] = in{[1, 2, 4]}) ⇒ out = { [1,1] = 10 20 30 [2,1] = Inf [3,1] = last [4,1] = 10 20 30 [5,1] = Inf [6,1] = first }
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2