MATLAB Answers

Increasing increment values with vector operations

78 views (last 30 days)
Ken Lew
Ken Lew on 27 Jun 2018
Commented: Ken Lew on 27 Jun 2018
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 Comments

Jan
Jan on 27 Jun 2018
By the way: a[x-4] = x^2 must be a(x-4) = x^2

Sign in to comment.

Accepted Answer

Jan
Jan on 27 Jun 2018
This is leaner than your loop:
a = (5:15) .^ 2

  1 Comment

Ken Lew
Ken Lew on 27 Jun 2018
Thank you so much ! I wasn't aware you could do this.

Sign in to comment.

More Answers (1)

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

Tags


Translated by