Array operations

2 vues (au cours des 30 derniers jours)
Yassine
Yassine le 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 commentaires
James Tursa
James Tursa le 22 Mar 2012
Yes, n is those numbers.
Andrei Bobrov
Andrei Bobrov le 23 Mar 2012
out = sum(sqrt(num(all(bsxfun(@rem,num.',[3 5 7]),2))))

Connectez-vous pour commenter.

Réponse acceptée

yasmine
yasmine le 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 commentaires
Yassine
Yassine le 23 Mar 2012
thanks for the answer, but what does '1' mean in the expression rem(Z(i),1)?
Jan
Jan le 23 Mar 2012
Please read the documentation: type "help rem" in the command window.

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 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
...

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by