Increasing increment values with vector operations

24 vues (au cours des 30 derniers jours)
Ken Lew
Ken Lew le 27 Juin 2018
Commenté : Ken Lew le 27 Juin 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 commentaires
Jan
Jan le 27 Juin 2018
By the way: a[x-4] = x^2 must be a(x-4) = x^2
Ken Lew
Ken Lew le 27 Juin 2018
Oh right. Changed it, Thanks!

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 27 Juin 2018
This is leaner than your loop:
a = (5:15) .^ 2
  1 commentaire
Ken Lew
Ken Lew le 27 Juin 2018
Thank you so much ! I wasn't aware you could do this.

Connectez-vous pour commenter.

Plus de réponses (1)

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

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by