Incrementally growing and adding to a matrix

14 vues (au cours des 30 derniers jours)
Aryn
Aryn le 1 Avr 2011
Hello,
I'm new to matlab and am having a lot of trouble figuring out how to add elements to a matrix while simultaneously increasing the value of the existing elements.
For example, if my increment of change is .2, then i would want each number in my matrix to grow by .2 during each timestep. However, I also need to be making the matrix one element larger at each timestep.
t1 = .2 t2 = .4 .2 t3 = .6 .4 .2
I'm kind of at a loss, so any help would be greatly appreciated!
etc, etc.

Réponses (3)

Jan
Jan le 1 Avr 2011
t = [];
for i=1:100
t = [t, 0] + 0.2; % Or [t + 0.2, 0.2];
end
Another method:
for i = 1:100;
t = (i:-1:1) * 0.2;
end
Be aware that a growing array is a very inefficient method. It is better to create the vector once and use indexing to operate on parts:
tFull = (100:-1:1) * 0.2;
for i = 1:100
t = tFull(101-i:100);
end

Sean de Wolski
Sean de Wolski le 1 Avr 2011
Don't do this!!
t = 0.2:0.2:maxt
or; if you need what you have above
t = tril(toeplitz(0:.2:1));
t(3,:)
  1 commentaire
Jan
Jan le 2 Avr 2011
The FAQ concerns the formulation "t1=..., t2=...". As fas as I understand, the OP does not really want to create these different variables explicitely. If he does: Please follow Sean's link. +1

Connectez-vous pour commenter.


Aryn
Aryn le 1 Avr 2011
I tried the first method and it worked. Luckily, I only have to go through 30 or 40 iterations. The second method might be a little complex for me at this point, but I will definitely look into it.
Thanks to both for the quick response!!!
  1 commentaire
Sean de Wolski
Sean de Wolski le 1 Avr 2011
If you give us an idea of the bigger picture we can probably help you refine the global approach as well as just creating t.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by