How do I create a vector with a multiply sequence?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Can I replace this loop?
vector(1)=100;
for i=2:10
vector(i)=vector(i-1)*0.7;
end
%%vector(10) will be 4.0354
I want to write the sequence , something like this:
vector=100:*0.7:4.0354
possible?
3 comentarios
Respuestas (6)
Andrei Bobrov
el 12 de Abr. de 2012
vector = [1 cumprod(ones(1,9)*.7)]*100;
more variant
o10 = ones(10);
vector = 100*prod(o10 - .3*triu(o10,1));
0 comentarios
Jan
el 12 de Abr. de 2012
vector = repmat(0.7, 1, 10);
vector(1) = 100;
vector = cumprod(vector);
Or as one-liner:
vector = cumprod([100, repmat(0.7, 1, 9)]);
0 comentarios
Jan
el 12 de Abr. de 2012
An of course:
vector = [100, 70, 49, 34.3, 24.01, 16.807, 11.7649, ...
8.23543, 5.764801, 4.0353607];
This is fast, but not very flexible. :-)
Honglei Chen
el 12 de Abr. de 2012
Another one
flipud(100*diag(vander(repmat(0.7,1,10))))
0 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!