我目前的代码是这样的:
for offset = 0:0.9:max_offset :
x = offset:step_size:max_value;
[...]
end
我想向量化并删除for循环以使其更快,但如果我尝试将offset
设为向量,则第二行上的冒号运算符相当于执行
x = offset(1):step_size:max_value;
获得所需结果的最有效方法是什么,即获取
x = [ 0:step_size:max_value;
0.9:step_size:max_value;
1.8:step_size:max_value; ... ]
假设我不知道max_offset
,因此我想知道x
中的行数?
答案 0 :(得分:0)
由于每个向量的大小不同,因此它们不容易适合矩阵。你必须将它们放在一个单元格数组中,如下所示:
offset=0:.9:max_offset;
x=arrayfun(@(k) k:step_size:max_value,offset,'UniformOutput',false)
而不是引用x
的{{1}}行作为矩阵,您可以x(i,:)
来获取正确的向量。