Incrementally growing and adding to a matrix

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.

回答(3 个)

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
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 个评论

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

请先登录,再进行评论。

Aryn
Aryn 2011-4-1
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 个评论

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.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息

提问:

2011-4-1

Community Treasure Hunt

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

Start Hunting!

Translated by