我想聲明array
類型integer
的命名序列。Matlab聲明數組
經過仿真序列後,它看起來像[1,3,4,59.........n elements]
。我不知道n
的價值,因爲它是random integer
。
如何將聲明順序爲array
類型int
?我的確喜歡sequence= [1,1]
,但是這並沒有成功,因爲有時候只有1個元素,然後它有2個而不是1個元素。
我想聲明array
類型integer
的命名序列。Matlab聲明數組
經過仿真序列後,它看起來像[1,3,4,59.........n elements]
。我不知道n
的價值,因爲它是random integer
。
如何將聲明順序爲array
類型int
?我的確喜歡sequence= [1,1]
,但是這並沒有成功,因爲有時候只有1個元素,然後它有2個而不是1個元素。
您可能想要查看linspace(from, to, numberOfElements)
函數。
在你不能預先分配數組(當你不事先知道數組的大小)的情況下,你可以使用下面的方法:
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)
。
用於聲明的陣列的標準格式是:
foo = [];
並且可以設置在陣列中的任何元素,在任何時間,和Matlab會自動調整。例如:
foo = [];
foo(4) = 1
產生
foo = [ 0 0 0 1]
如果你不知道你的數組有多少個元素需要持有,你可以做雅各布表明,只是每一次調整陣列。但是,如果這會導致代碼中出現瓶頸(可以使用Matlab中的配置文件工具查找),則可能需要不經常調整大小,併爲尚未使用的元素使用佔位符值。
var=[ val1 val2 val3....valn]
for i=1:numel(var)
result=var(i)
end
數組的值來自哪裏?這將會影響你可以使用的功能。 – eykanal 2011-04-07 18:03:54
使用'foo = typecast(foo,'int16')'將'foo'的數據類型從'double' _(default)_轉換爲'int16'類型。另外,聲明'foo'如下:'foo = int16([])'。 P.S. :您可以從各種[數據類型]中選擇(http://www.mathworks.in/help/matlab/numeric-types.html) – 2013-07-30 18:05:07