Difference between columns, fixed the first column, in a matrix

Hi, I have a 3D-matrix and I want to calculate differences between columns, fixed the first column, and the value be positive or zero, i.e., for each 3D dimension calculate: max ( column(i)-column(1), 0 ). For example:
Thank you in advance!

 採用された回答

Adam
Adam 2017 年 11 月 3 日
編集済み: Adam 2017 年 11 月 3 日

2 投票

res = max( 0, A(:,2:end,:) - A(:,1,:) );
Note: This syntax only works from R2016b. For older syntax see Andrei Bobrov's answer

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2017 年 11 月 3 日
編集済み: Andrei Bobrov 2017 年 11 月 3 日

2 投票

B = bsxfun(@minus,A(:,2:end,:),A(:,1,:));
B(B<0) = 0;

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by