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 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(3 个)
Walter Roberson
2015-12-2
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.
0 个评论
Thorsten
2015-12-2
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);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!