Array operations

2 次查看(过去 30 天)
Yassine
Yassine 2012-3-22
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 个评论
James Tursa
James Tursa 2012-3-22
Yes, n is those numbers.
Andrei Bobrov
Andrei Bobrov 2012-3-23
out = sum(sqrt(num(all(bsxfun(@rem,num.',[3 5 7]),2))))

请先登录,再进行评论。

采纳的回答

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

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2012-3-22
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
...

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by