doubt to store a array values in for loop ?
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
Stephen23
2016-6-8
编辑:Stephen23
2016-6-8
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
回答(2 个)
UNK
2016-6-8
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!