Write MATLAB code to create and print a vector GS that stores the first 10 terms of the geometric sequence that halves each time: {1/2, 1/4, 1/8, 1/16, ... 1/1024 }
Mostrar comentarios más antiguos
this is what i have done but it is wrong
Initial=input('Enter initial value: ')
for i =1:10
y(i)=(Initial)*(0.5)
end
Respuestas (3)
Walter Roberson
el 2 de Dic. de 2015
0 votos
The problem requires that you name the variable GS. Also the question does not ask you to prompt for an initial value.
For a geometric sequence so always be multiplying the previous value by the multiplier, not the initial value.
>> 1./pow2(1:10)
ans = 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.0039062 0.0019531 0.00097656
Thorsten
el 2 de Dic. de 2015
Initial=input('Enter initial value: ')
y(1) = Initial*0.5;
for i = 2:10
y(i)= y(i-1)*0.5
end
or following Stephens suggestion, without a loop
y = Initial./pow2(1:10);
or
y = Initial./cumprod([repmat(2, 1, 10)])
or
y = Initial./2.^(1:10);
Categorías
Más información sobre Get Started with MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!