doubt to store a array values in for loop ?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
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
Réponses (2)
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])
0 commentaires
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
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!