0

我正在尝试创建一个扩展查找表。我认为单元阵列是我想要的,但我不确定。该结构将使用行和未知数量的列进行初始化。我希望能够附加到每一行的末尾,并访问特定行中的所有值。

所需结构:

[1]  [4,5] [6,7]
[2]  [4,5] [6,7] [3,6]
...
[n]  [R1,B2] [R2,B2] ... [Rm, Bm]

这就是我到目前为止所拥有的

%%% Build the R-table

n = 360;
k = {};
v = {};
for i = 1:n
  k{end+1} = i; % how would I get n keys without this loop?
  v{end+1} = {}; % how would I get n values without this loop?
end
rTable = containers.Map(k, v);

%%% add R,B pair to key I
I = 1;
R_add = 4;
B_add = 5;
current_list_temp = rTable(I); % can I add without using a temp variable?
current_list_temp{end+1} = {[R_add, B_add]};
rTable(I) = current_list_temp;

%%% read values for Nth pair in the Ith key
I = 1;
N = 1;
temp = rTable(I); % can I read the values without using a temp variable?
R_read = temp{N}{1}(1);
B_read = temp{N}{1}(2);

有没有更好的方法来做到这一点?

4

1 回答 1

1

当用于索引end转换为最大允许索引时,您可以通过添加或相乘来操作它,所以而不是

first_empty_cell = ?
cell{index, first_free_cell} = [4,5]

尝试

cell{index, end+1} = [4,5]
于 2012-04-20T19:20:22.997 回答