Sum of each row ?

2 次查看(过去 30 天)
Trevor Badji
Trevor Badji 2017-12-10
I have [1 1 0; 0 1 0; 0 0 0;] and I want to write that if average of each row > 0.5 it equals 1 , else 0
for the example above, first row 1+1+0 / 3 > 0.5 then it is 1 ..
for i=1:length(nx);
s(i)= sum(nx(i,:))/3;
for n=1:length(nx);
if s(i(n+1))> 0.5;
s(i(n+1)) == 1;
else
s(i(n+1))== 0 ;
end
end
end
  2 个评论
Star Strider
Star Strider 2017-12-10
What functions are you permitted to use in this obvious homework assignment?
Rena Berman
Rena Berman 2017-12-26
(Answers Dev) Restored edit

请先登录,再进行评论。

回答(3 个)

Jos (10584)
Jos (10584) 2017-12-10
Use the matlab way! Use the functions mean, or sum and size. Read the documentation on these functions and pay attention to the dimension argument.
Then take a closer look at logical operators, like >
A = [.9 .7 .4 .6 .2]
B = A > 0.5

Image Analyst
Image Analyst 2017-12-10
编辑:Image Analyst 2017-12-10
Does it have to be a for loop? Why not just do:
rowMeans = mean(nx, 2);
s = zeros(size(nx));
s(rowMeans > 0.5, :) = 1;
You've said both "sum" and "average" - which is it?????. The above is for average. If you want sums, do
rowSums = sum(nx, 2);
s = zeros(size(nx));
s(rowSums > 0.5, :) = 1;
  3 个评论
Stephen23
Stephen23 2017-12-11
"There are no specific number of rows therefore i am trying to use for loop to see average of each row"
This makes no sense: vectorized code has no restrictions on how many rows it can handle. Why do you think that a loop is required?
Image Analyst
Image Analyst 2017-12-26
Original question:
I have [1 1 0; 0 1 0; 0 0 0;] and I want to write that if average of each row > 0.5 it equals 1 , else 0
for the example above, first row 1+1+0 / 3 > 0.5 then it is 1 ..
for i=1:length(nx);
s(i)= sum(nx(i,:))/3;
for n=1:length(nx);
if s(i(n+1))> 0.5;
s(i(n+1)) == 1;
else
s(i(n+1))== 0 ;
end
end
end

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2017-12-10
mean(nx, 2) > 0.5 %the 2 means "by rows" here.

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by