Amend a column vector to a matrix array

3 次查看(过去 30 天)
What are some simple ways to amend a column vector to an array? I am trying to avoid setting a fixed number of column vectors to an array and would rather amend column vector after column vector with a while loop until it reaches the end of the loop. Feel it would be unnecessary to fix the length of the array if this could happen and it would be more fluid
  4 个评论
Voss
Voss 2021-12-8
That will work. This also works:
w(:,end+1) = z;
It is a good idea to pre-allocate if possible, however, like Matt J points out in his answer.
Christopher Arreola
hugh, well i'll take the increase in round off error if it provides a better matrix that fits my data set more accurately

请先登录,再进行评论。

回答(1 个)

Matt J
Matt J 2021-12-8
编辑:Matt J 2021-12-8
it would be unnecessary to fix the length of the array if this could happen and it would be more fluid
No, it won't be more fluid, because of
A compromise would be to hold the columns in a cell array and then combine them at the end, e.g.,
i=1;
c={};
while i<10
c{i}=rand(4,1);
i=i+1;
end
A=cell2mat(c)
A = 4×9
0.4293 0.5831 0.1375 0.3251 0.9970 0.2210 0.0956 0.4595 0.1706 0.9880 0.2839 0.6171 0.5244 0.4020 0.7433 0.8065 0.7895 0.0911 0.7028 0.6208 0.9873 0.0436 0.8547 0.3176 0.0456 0.8947 0.7712 0.5441 0.3587 0.6043 0.4594 0.0559 0.9560 0.8444 0.7481 0.7811

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by