Getting rid of for loop in one-liner code
이전 댓글 표시
Lets assume we have an optimization problem like this:
x = zeros(1,10);
x(1,1) = 2;
for k = 1: 9
x(k+1) = 10 x(k);
end
Is it possible to write the equation without the for loop?
채택된 답변
추가 답변 (1개)
John BG
2017년 2월 13일
this
x = zeros(1,10);
x(1) = 2;
for k = 1: 9
x(k+1) = 10 *x(k);
end
x
=
Columns 1 through 3
2.00 20.00 200.00
Columns 4 through 6
2000.00 20000.00 200000.00
Columns 7 through 9
2000000.00 20000000.00 200000000.00
Column 10
2000000000.00
is the same as
n=[1:1:10];x=.2*10.^n
x =
Columns 1 through 3
2.00 20.00 200.00
Columns 4 through 6
2000.00 20000.00 200000.00
Columns 7 through 9
2000000.00 20000000.00 200000000.00
Column 10
2000000000.00
if you find this answer useful would you please be so kind to mark my answer as Accepted Answer?
To any other reader, please if you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John BG
댓글 수: 3
Sakil Chowdhury
2017년 2월 13일
Walter Roberson
2017년 2월 13일
More compactly,
x = 2 * 10.^(0:9);
Jan
2017년 2월 14일
@Sakil: The operation A.^(0:9) is not valid, therefore the readers have to guess, what you want as result. Which dimension does x have after this calculation?
카테고리
도움말 센터 및 File Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!