MATLAB: Comparing elements in a vector

comparing elementsvectors

Hello!
I need to check if a squared element exists in the vector as another element.
for example x=[2 3 4]
so the squared value of 2 would be 4 which is in the vector and would result in a returnation of y=true.
This vector is quite small and I need a solution to work for bigger vectors but you get the idea of what I need.
I would love to find some documentation on this if you have it available, been searching for hours without finding anything that I can make work. I tried using find() among other things but couldn't make it work.

Best Answer

"My idea is to start of squaring the elements in x and then to check if any element in x equals any element in sqr." That's a good start.
Are all elements of the vector, x, whole numbers?
Steven hinted about ismember. Thus, look it up in the documentation. Type ismember in the command window, select it by double-clicking, right-click and chose "Help on Selection". Reading documentation is a large part of using Matlab.
"any element in x equals any element in sqr" That's what ismember does.
%%

x = 2:12;
sqr = x.^2;
%
[ism,loc] = ismember( sqr, x );
if any( ism )
x(loc(ism))
else
disp('None found')
end
%%
In the bottom of the documetation page of ismember you'll find See Also: ... intersect ... . It's documentation says: "C = intersect(A,B) returns the data common to both A and B, " Worth trying.
intersect( sqr, x )