doubt to store a array values in for loop ?

3 vues (au cours des 30 derniers jours)
RAVI MANDAVA
RAVI MANDAVA le 8 Juin 2016
Modifié(e) : Stephen23 le 8 Juin 2016
Dear sir i have doubt to store a array values in for loop. I will explain my code Program:
a=[1 2 3 4 5 6 7 8 9 10]
for i=1:3:10
k(i)=a(i)
end
I need store the values in k variable. i am getting answer k= 1 0 0 3 0 0 6 0 0 9 0 but i need answer like that k=1 3 6 9 is it p[ossible to write the answer like that .
please help me.
  1 commentaire
Stephen23
Stephen23 le 8 Juin 2016
Modifié(e) : Stephen23 le 8 Juin 2016
MATLAB is a high-level language, so why bother with an ugly loop as if it was just C or something similar? You can do it much neater, faster, and much more efficiently using basic MATLAB indexing:
>> a = [1,2,3,4,5,6,7,8,9,10];
>> b = a(1:3:10)
b =
1 4 7 10
>> c = a(1:2:10)
b =
1 3 5 7 9
Note that I gave two sequences: this is because your output sequence does not have an equal step size (it is not an arithmetic progression), so you cannot generate it using any method that assumes a constant step size (in particular the colon operator). You can check the step size of your solution:
>> diff([1,3,6,9])
ans =
2 3 3

Connectez-vous pour commenter.

Réponses (2)

UNK
UNK le 8 Juin 2016
Hi Ravi, If you have a row vector as a = 1:1:10 and you want only some entries as a new vector you can do b = a([1:3:10])
a = 1:1:10
b = a([1:3:10])
For loops are not efficient. You can look at this which may be useful

Azzi Abdelmalek
Azzi Abdelmalek le 8 Juin 2016
a=[1 2 3 4 5 6 7 8 9 10]
ii=0
for i=1:3:10
ii=ii+1;
k(ii)=a(i)
end

Catégories

En savoir plus sur Logical 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