Effacer les filtres
Effacer les filtres

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 }

9 vues (au cours des 30 derniers jours)
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

Réponses (3)

Walter Roberson
Walter Roberson le 2 Déc 2015
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.

Stephen23
Stephen23 le 2 Déc 2015
Modifié(e) : Stephen23 le 2 Déc 2015
>> 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
Thorsten le 2 Déc 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);

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by