25 views (last 30 days)

Hi,

I have a code like this:

X = [1 2 3 4 5;

3 5 7 9 11;

2 4 6 8 10;

3 9 12 15 18];

minx = min(X, [ ], 2); %min of each vector

maxx = max(X, [ ], 2); %max of each vector

result = X >= reshape(minx, 1, 1, [ ]) & X <= reshape(maxx, 1, 1, [])

When i run it,

result is 4x5x4 logical and

val(:,:,1) =

1 1 1 1 1

1 1 0 0 0

1 1 0 0 0

1 0 0 0 0

Here i have a question.

I would like to see the sum of each row with names.

In val(:,:,1), the sum of first row= A11, sum of second row= A12, sum of third row= A13 and sum of fourth row=A14 .

Likewise for

val(:,:,2) =

0 0 1 1 1

1 1 1 1 1

0 1 1 1 1

1 1 0 0 0

sum of first row= A21, sum of second row= A22,...

I tried to do this with creating a 4X4 matrix A which consist of the sum values A11, A12, A13 A14, .... But i cant do it.

Any help is appreciated.

Sourav Bairagya
on 12 Feb 2020

You can use 'sum' function to compute sum for each row and then can apply 'squueze' function to remove the singleton dimension (i.e. dimension with length 1). After that you can take transpose of the result and you will get the desired output.

val = sum(result,2);

out = squeeze(val);

A = out';

You can leverage these links for further information:

Guillaume
on 12 Feb 2020

Or you can do the squeeze and transpose altogether with just one permute:

A = permute(sum(result, 2) [2 3 1]) %note this do a .' transpose instead of a ' ctranspose. For a logical array the two are the same.

Opportunities for recent engineering grads.

Apply Today
## 3 Comments

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/504269-calculating-the-sum-of-each-row-in-a-matrix#comment_794770

⋮## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/504269-calculating-the-sum-of-each-row-in-a-matrix#comment_794770

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/504269-calculating-the-sum-of-each-row-in-a-matrix#comment_794832

⋮## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/504269-calculating-the-sum-of-each-row-in-a-matrix#comment_794832

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/504269-calculating-the-sum-of-each-row-in-a-matrix#comment_795064

⋮## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/504269-calculating-the-sum-of-each-row-in-a-matrix#comment_795064

Sign in to comment.