Array operations

2 views (last 30 days)
Yassine
Yassine on 22 Mar 2012
How can I solve this problem using MATLAB? The array n is all integers from 1 to 110. The array y is defined by: y= n^(1/2) if n is divisible by 3, 5, or 7 y= 0 otherwise Find the value of the sum of the elements of y.
  4 Comments
James Tursa
James Tursa on 22 Mar 2012
Yes, n is those numbers.
Andrei Bobrov
Andrei Bobrov on 23 Mar 2012
out = sum(sqrt(num(all(bsxfun(@rem,num.',[3 5 7]),2))))

Sign in to comment.

Accepted Answer

yasmine
yasmine on 22 Mar 2012
num = 1:110;
for i = 1:101 z(i) = num(i)/3; x(i)= num(i)/5; y(i)= num(i)/7;
if rem(z(i),1) == 0; k(i) = num(i)^(1/2);
elseif rem(x(i),1) == 0; k(i) = num(i)^(1/2);
elseif rem(y(i),1) == 0; k(i) = num(i)^(1/2);
else k(i) = 0;
end;
end;
sum = sum(k);
  2 Comments
Yassine
Yassine on 23 Mar 2012
thanks for the answer, but what does '1' mean in the expression rem(Z(i),1)?
Jan
Jan on 23 Mar 2012
Please read the documentation: type "help rem" in the command window.

Sign in to comment.

More Answers (1)

Jan
Jan on 22 Mar 2012
Start with:
n = 1:110;
Now remember that ^(1/2) is the squareroot.
How can you check, if the numbers in a vector can be divided by 3, 5, or 7? Look e.g. in the help for rem:
doc rem
Another idea:
x = 1:3:20
...

Community Treasure Hunt

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

Start Hunting!