Multiply x sequentially with items of a vector

3 ビュー (過去 30 日間)
Christoph Meier
Christoph Meier 2015 年 8 月 7 日
コメント済み: Torsten 2015 年 8 月 7 日
Dear MATLAB community,
I would like to construct an index, which should start with 100. I have computed a vector, which then determines the change in the index in each time period. For example, for 4 time periods:[1.1,1.2,1.3,1.4] Basically, the operation should compute and produce the following vector:
  1. 100*1.1
  2. (100*1.1)*1.2
  3. ((100*1.1)*1.2)*1.3
  4. (((100*1.1)*1.2)*1.3)*1.4
Thank you very much in advance! I appreciate any help, as I am still a beginner with MATLAB.

採用された回答

Torsten
Torsten 2015 年 8 月 7 日
編集済み: Torsten 2015 年 8 月 7 日
vder(1)=v(1);
for l=2:length(v)
vder(l)=vder(l-1)*v(l);
end
vder=100*vder;
v is the original vector, vder is the vector you are looking for.
Best wishes
Torsten.
  2 件のコメント
Stephen23
Stephen23 2015 年 8 月 7 日
編集済み: Stephen23 2015 年 8 月 7 日
See Walter Roberson's answer for the simpler and faster way to do this.
Torsten
Torsten 2015 年 8 月 7 日
And cumprod.m works without a loop ?
Best wishes
Torsten.

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 8 月 7 日
編集済み: Stephen23 2015 年 8 月 7 日
cumprod([100, 1.1, 1.2, 1.3, 1.4])

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by