how can I find the maximum value in each row of a matrix and sum along the column then assign the values to another matrix

3 次查看(过去 30 天)
example
2 3
3 4
5 3
1 2
3 2.5
the answer will be a vector (5+3, 3+4+2) the code may be incorrect but, I only try my assumptions.
v=[1400 1600 1200 800 1000];
r=[500 400];
for i=1:numel(v)
t=0;
for j=1:numel(r)
eet(i,j)=v(i)./r(j);
et(i,j)=v(i)./r(j);
c(i,j)=eet(i,j)+t;
ctc(i,j)=eet(i,j)+t;
t=t+eet(i,j);
end
end;
M=max(eet,[],2); % this gives me all the maximum value along a colunm vector

采纳的回答

Stephen23
Stephen23 2017-10-24
编辑:Stephen23 2017-10-24
All you need is max and accumarray:
>> M = [2,3;3,4;5,3;1,2;3,2.5];
>> [V,I] = max(M,[],2);
>> B = accumarray(I,V)
B =
8
9
  5 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by