Sort out square numbers
13 次查看(过去 30 天)
显示 更早的评论
(Homework) Create an array of N numbers. Now find a single MATLAB statement that picks out from that array the 1,4,9,16,…,√Nth entries, i.e. those numbers which have indices that are square numbers.
[SL: formatted text as text not code]
3 个评论
Walter Roberson
2021-10-28
Hint:
sqrt(65)
take the 8 part if it
8
square that
8^2
does that equal the original number 65?
What about 121?
sqrt(121)
take the 11 part of it
11
square that
11^2
does that equal the original number 121?
By using this logic, if you had the index of a value in a vector, you could detect whether the index is the square of an integer. Comparisons ("does that equal") can return a logical vector, which you can then use to index the original array.
(Not saying this is the easiest way!)
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!