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

1 回表示 (過去 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
  2 件のコメント
Stephen23
Stephen23 2017 年 10 月 24 日
@Bashir Yusuf Bichi: today I formatted your code correctly for you. Please do not keep reverting it. In future you can format it correctly yourself: simply select the code text, then click the {} Code button.

サインインしてコメントする。

採用された回答

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 Center および File ExchangeStartup and Shutdown についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by