Sort out square numbers

(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 Comments

Since this is a homework assignment, show us the code you've written to try to solve the problem and ask a specific question about where you're having difficulty and we may be able to provide some guidance.
If you aren't sure where to start because you're not familiar with how to write MATLAB code, I suggest you start with the MATLAB Onramp tutorial (https://www.mathworks.com/support/learn-with-matlab-tutorials.html) to quickly learn the essentials of MATLAB.
If you aren't sure where to start because you're not familiar with the mathematics you'll need to solve the problem, I recommend asking your professor and/or teaching assistant for help.
We need serious help on this one as it's not easy
Hint:
sqrt(65)
ans = 8.0623
take the 8 part if it
8
ans = 8
square that
8^2
ans = 64
does that equal the original number 65?
What about 121?
sqrt(121)
ans = 11
take the 11 part of it
11
ans = 11
square that
11^2
ans = 121
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!)

Sign in to comment.

Answers (0)

Tags

Asked:

on 9 Dec 2020

Commented:

on 28 Oct 2021

Community Treasure Hunt

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

Start Hunting!