0

我不知道如何比给你一个例子更好地解释这一点。

假设我有以下数组:

a = magic(6)

然后我像这样取一个“切片”:

a(:,1)

它将打印:

35
 3
31
 8
30
 4

现在我想要第一个数字,所以我想写:

a(:,1)(1)

代替:

b = a(:,1)
b(1)

此外,有没有办法做这样的事情(分配和比较,即设置 b,然后评估它):

(b = a(:,1))(1)

好的,这是一个函数的更新,其中使用 a(1, 1) 并非易事

come_on = sprintf('%i, ', magic(3));
come_on(1:end-2)
8, 3, 4, 1, 5, 9, 6, 7, 2

另外,如果我只想要 magic(3) 的前 4 个数字怎么办?最好写

sprintf('%i, ', magic(3)(1:4))(1:end-2)

而不是几十行,MHO。

4

1 回答 1

1

您不能将索引连接为foo(1)(2)(3). 但是,您可以一次索引多个维度。所以在这种情况下,a(1,1)会给你你想要的。

于 2012-06-25T02:54:41.280 回答