how to add colmun to vector

1 visualización (últimos 30 días)
tomer polsky
tomer polsky el 4 de En. de 2018
Respondida: Guillaume el 4 de En. de 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 comentario
Guillaume
Guillaume el 4 de En. de 2018
Note that growing arrays in a loop is not recommended. It adversely affects performance. Preallocation and indexing is recommended instead.

Iniciar sesión para comentar.

Respuestas (3)

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

Iniciar sesión para comentar.


tomer polsky
tomer polsky el 4 de En. de 2018
Editada: Guillaume el 4 de En. de 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 comentario
Guillaume
Guillaume el 4 de En. de 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

Iniciar sesión para comentar.


Guillaume
Guillaume el 4 de En. de 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

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by