我想制作一个矩阵,或者另一种变量作为行。问题是,第一行可以有10个数字(列),第二行只有3个,第三个5,依此类推...... 那可能吗?怎么样?
编辑:我需要通过矩阵,然后存储数字。它是一个m乘2的矩阵。我用for循环来完成它。像这样:
rows = size (mtx, 1);
for i = 1 : rows
var = m (i, :);
if m(2) is in A{something}
if m(3) is in A{something}
continue (ignore)
else
store m(3) in A{something}
end
else
if m(3) is in A{something}
store m(2) in A{something}
else store both m(2) and m(3) in A{Newsomething}
end
end
end
答案 0 :(得分:1)
不是矩阵,而是cell array,是:
A{1} = [1 2 3 4 5 6 7 8 9 10];
A{2} = [1 2 3];
A{3} = [1 2 3 4 5];
>> A
A =
{
[1,1] =
1 2 3 4 5 6 7 8 9 10
[1,2] =
1 2 3
[1,3] =
1 2 3 4 5
}
答案 1 :(得分:0)
如果你知道你可能拥有的元素的绝对最大值,你可以使用你的数字填充一些元素,用NaN填充所有其他元素。之后,您可以将第一行中的所有非纳米元素视为A(1, ~isnan(A(1,:)))
如果你需要处理所有行,你可以写:
for i = 1 : size(A,1)
row_to_process = A(i, ~isnan(A(i,:)))
do_some_stuff(row_to_process)
end