我的文件包含一些内容如下所示:
1.000000 - 1.000200 0 -> 2 A-MPDU 1.000000 - 1.000100 SUCCESS 1.000100 - 1.000200 FAIL
1.000425 1 TIMEOUT
1.000150 - 1.000350 1 -> 3 A-MPDU 1.000150 - 1.000250 FAIL 1.000250 - 1.000350 FAIL
然后我想在分割到不同元素后将row1和row3组合成一个变量:
for z = 1:length(myTextArray)
temp = regexp(A{z,1}, ' ', 'split');
if cols == 15
C1 = temp;
end
end
但C1只存储最新的“临时”。如何使C1存储row1和row3值(当然也在不同的行中)?
答案 0 :(得分:1)
使用此代码:
ix = 0;
C1 = {};
for z = 1:length(myTextArray)
temp = regexp(A{z,1}, ' ', 'split');
if numel(temp) == 15
ix = ix + 1;
C1{ix} = temp;
end;
end;
基本上,您在单元格数组ix
中创建一个新索引C1
。
稍后修改
这将创建2D单元阵列而不是1D单元阵列的1D单元阵列:
ix = 0;
C1 = cell(0,15);
for z = 1:length(myTextArray)
temp = regexp(A{z,1}, ' ', 'split');
if numel(temp) == 15
ix = ix + 1;
C1(ix, :) = temp;
end;
end;
这基本上与EJG89先前给出的答案相同,不同之处在于它不包含空单元格行。
答案 1 :(得分:0)
您必须创建一个新行。由于您完全确定它们的长度相同,因此您可以坚持使用矩阵格式。
第一个prelocate空间,行数m,乘以列数,n:
z = ;
n = ;
C1 = zeros(m,n) % You might need a cell instead of an array
for z = 1:length(myTextArray)
temp = regexp(A{z,1}, ' ', 'split');
if cols == 15
C1(z,:) = temp; % Important change right here, use indexes to create a multidimensional storage variable.
end
end
所以最后你只需要使用索引在C1中分配一行。