Clear Filters
Clear Filters

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

1 view (last 30 days)
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!

Accepted Answer

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

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 3 Nov 2017
Edited: Andrei Bobrov on 3 Nov 2017
B = bsxfun(@minus,A(:,2:end,:),A(:,1,:));
B(B<0) = 0;

Categories

Find more on Elementary Math in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!