how to add colmun to vector

1 vue (au cours des 30 derniers jours)
tomer polsky
tomer polsky le 4 Jan 2018
hello how can i add to my colmn vector using for loop ?
for exmaple i have this vector [0;0] and i want it to grow by one and keep adating like this for exmaple [0 1;0 1] and then [0 1 2; 0 1 2] and then [0 1 2 3; 0 1 2 3 ] and so on
  1 commentaire
Guillaume
Guillaume le 4 Jan 2018
Note that growing arrays in a loop is not recommended. It adversely affects performance. Preallocation and indexing is recommended instead.

Connectez-vous pour commenter.

Réponses (3)

Torsten
Torsten le 4 Jan 2018
help horzcat
Best wishes
Torsten.
  4 commentaires
tomer polsky
tomer polsky le 4 Jan 2018
thank you very much is there any other way without using horzcat command ?
Torsten
Torsten le 4 Jan 2018
mat = [mat,i*id];
Best wishes
Torsten.

Connectez-vous pour commenter.


tomer polsky
tomer polsky le 4 Jan 2018
Modifié(e) : Guillaume le 4 Jan 2018
clc;
clear all;
x=[0;0]
for i=1:5
x(:,i)=i
end
your wat is too complicated ,here is the way i found
  1 commentaire
Guillaume
Guillaume le 4 Jan 2018
Torsten's way may be too complicated but it certainly performs better than the above. In particular, in the first step of the loop, the above replaces
x = [0;0]
by
x = [1;1]
The next steps of the loop do indeed grow x (not recommended) so the end result is:
x = [1 2 3 4 5; 1 2 3 4 5]
not
x = [0 1 2 3 4;0 1 2 3 4] %or maybe [0 1 2 3 4 5;0 1 2 3 4 5]
as was requested

Connectez-vous pour commenter.


Guillaume
Guillaume le 4 Jan 2018
And the proper way is to use preallocation instead of growing the array:
numsteps = 5; %and not using hardcoded ends for loops
x = zeros(2, numsteps);
for i = 1:numsteps
x(:, i) = i-1;
end

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by