Matlab声明数组

时间:2011-04-07 18:00:16

标签: matlab

我想声明array类型为integer的{​​{1}}。

在模拟序列之后,它看起来像[1,3,4,59.........n elements]。我不知道n的价值,因为它是random integer

如何将序列声明为array类型的int?我确实喜欢sequence= [1,1],但这有时只有1个元素,然后它有2个而不是1个元素。

4 个答案:

答案 0 :(得分:2)

如果您无法预先分配数组(如果您事先不知道数组的大小),则可以使用以下方法:

sequence = [];
sequence(end+1) = 1;
sequence(end+1) = 3;
sequence(end+1) = 4;
...

将此方法视为将sequence视为C ++ std::vectorsequence(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