我想声明array
类型为integer
的{{1}}。
在模拟序列之后,它看起来像[1,3,4,59.........n elements]
。我不知道n
的价值,因为它是random integer
。
如何将序列声明为array
类型的int
?我确实喜欢sequence= [1,1]
,但这有时只有1个元素,然后它有2个而不是1个元素。
答案 0 :(得分:2)
如果您无法预先分配数组(如果您事先不知道数组的大小),则可以使用以下方法:
sequence = [];
sequence(end+1) = 1;
sequence(end+1) = 3;
sequence(end+1) = 4;
...
将此方法视为将sequence
视为C ++ std::vector
而sequence(end+1) = 1
等同于sequence.push_back(1)
。
答案 1 :(得分:2)
声明数组的标准格式为:
foo = [];
你可以随时设置数组的任何元素,Matlab会自动调整大小。例如:
foo = [];
foo(4) = 1
产量
foo = [ 0 0 0 1]
如果您不知道阵列需要容纳多少元素,您可以按照Jacob的建议进行操作,并且每次都只需调整数组的大小。但是,如果这会导致代码出现瓶颈(您可以使用Matlab中的配置文件工具找到),则可能需要更少调整大小,并对尚未使用的元素使用占位符值。
答案 2 :(得分:0)
您可能需要查看linspace( from, to, numberOfElements )
功能。
答案 3 :(得分:0)
var=[ val1 val2 val3....valn]
for i=1:numel(var)
result=var(i)
end