1

并有两个向量 - a 和 b。a 是 double 类, b 是 cell 类。我想创建一个 2 x 长度(a)单元格数组,将 a 的第一个值与 b 的第二个值配对,依此类推....

我到目前为止

for i=1:length(a)
    for j=1:length(ab
    c{j,i} = {a(j),cell2mat(b(i))};
    end
end

我的新结构的每个输出都类似于 c{1,1}:

c{1,1} = 

    [-0.1065]    [1x499 char]

我似乎无法访问第二个元素。我的问题是有没有办法访问单元格数组中每一行的第二个元素,还是我做错了?

非常感谢。

4

2 回答 2

2

不需要循环。假设您的单元格和数字向量都是列,您可以这样做:

a=[1:4]';
b={'a';'b';'c';'d'};
c=[num2cell(a),b]    % combine a to b in a cell array
于 2013-10-17T21:18:56.817 回答
1

您正在创建一个非常奇怪的数据结构,即数组单元的单元。

x=c{1,1}
first=x{1}
second=x{2}
于 2013-10-17T21:17:49.873 回答