How to get a geometric sequence?
27 views (last 30 days)
Show older comments
Hi, I have
tao=1000;
v=0.9;
T1=0.01;
I want to have a geometric sequence T, where T1=T2=T3...=T1000 ( since tao=1000)
The first 100 T will be equal to T1,
The second 100 T which starts from T101 until T200= v*T1
The third 100 T ( from T201 until T300 = v*v*T1)
The fourth 100 T (from T301 till T400 = v*v*v*T1)
and so on.
How am I going to get the sequence? Thanks in advance.
1 Comment
Answers (2)
SK
on 2 Oct 2014
Use the .^ operator and matrix multiplication
T = v.^(0:9) * T1;
T = ones(100,1)*T;
T = T(:);
Alternatively (maybe faster)
T = v.^(0:9) * T1;
T = T(ones(1,100), :);
T = T(:);
0 Comments
the cyclist
on 2 Oct 2014
It was not perfectly clear to me what you needed to leave as a variable, and what is a constant. But, this should get you started.
v=0.9;
T1=0.01;
T = T1*ones(100,10);
v_vector = v.^(0:9);
T = bsxfun(@times,T,v_vector)
T = reshape(T,1,1000)
0 Comments
See Also
Categories
Find more on Robust Control Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!