How to avoid that loop
4 ビュー (過去 30 日間)
古いコメントを表示
k(1) = 1;
for i=2:size(k)
k(i) = k(i-1)*v(i)
end
v(i) is a scalar and it's different on every iteration How could I do that without using a loop?
2 件のコメント
the cyclist
2016 年 5 月 3 日
編集済み: the cyclist
2016 年 5 月 3 日
As written, this loop will never be executed, because size(k) is 1, and
for i = 2:1
<stuff>
end
will have zero iterations.
Some coding mistake? Maybe you meant length(v)?
採用された回答
the cyclist
2016 年 5 月 3 日
If my speculation about what you meant it correct, then
k = cumprod(v)/v(1)
2 件のコメント
Steven Lord
2016 年 5 月 3 日
No, we understand you. Another approach that doesn't involve division:
v = randperm(8) % Sample data for demonstration purposes
k = cumprod([1 v(2:end)])
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!