Increasing increment values with vector operations

조회 수: 8 (최근 30일)
Ken Lew
Ken Lew 2018년 6월 27일
댓글: Ken Lew 2018년 6월 27일
I'm trying to change this code into a single line of code using vector operations,
a = [];
x = 5;
while x <= 15
a(x-4) = x^2;
x = x + 1;
end
Where the sequence is
25,36,49,64,81,100,121,144,169,196,225
and the difference between two numbers are
11,13,15,17,19,21,23,25,27,29
The number difference have a value of 2 between them
My idea was,
a=25:X:225
where X is the increment value, but i found that X should increase by 2 after every number(11,13,15,17,...). How should i go about this?
  댓글 수: 2
Jan
Jan 2018년 6월 27일
By the way: a[x-4] = x^2 must be a(x-4) = x^2
Ken Lew
Ken Lew 2018년 6월 27일
Oh right. Changed it, Thanks!

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2018년 6월 27일
This is leaner than your loop:
a = (5:15) .^ 2
  댓글 수: 1
Ken Lew
Ken Lew 2018년 6월 27일
Thank you so much ! I wasn't aware you could do this.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Ameer Hamza
Ameer Hamza 2018년 6월 27일
difference = 11:2:29;
a = 25+[0 cumsum(difference)]
a =
25 36 49 64 81 100 121 144 169 196 225

카테고리

Help CenterFile Exchange에서 Sources에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by