Array operations

2 visualizzazioni (ultimi 30 giorni)
Yassine
Yassine il 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 Commenti
James Tursa
James Tursa il 22 Mar 2012
Yes, n is those numbers.
Andrei Bobrov
Andrei Bobrov il 23 Mar 2012
out = sum(sqrt(num(all(bsxfun(@rem,num.',[3 5 7]),2))))

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

Jan
Jan il 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!

Translated by