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

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by