Array operations

4 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
...

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!