How to get a geometric sequence?

98 Ansichten (letzte 30 Tage)
Grace
Grace am 2 Okt. 2014
Bearbeitet: Yokesh am 27 Jun. 2017
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 Kommentar
Yokesh
Yokesh am 27 Jun. 2017
Bearbeitet: Yokesh am 27 Jun. 2017
A = r.^(1:n);
This creates matrix A with geometric sequence with a ratio 'r'

Melden Sie sich an, um zu kommentieren.

Antworten (2)

SK
SK am 2 Okt. 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(:);

the cyclist
the cyclist am 2 Okt. 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)

Kategorien

Mehr zu Robust Control Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by