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 views (last 30 days)
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

Accepted Answer

Stephen23
Stephen23 on 24 Oct 2017
Edited: Stephen23 on 24 Oct 2017
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 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!