MATLAB Answers

Sum and Difference across row and column

1 view (last 30 days)
Let say there is square matrix of order n-by-n, and n is odd integer
A = rand(3)
A =
0.4218 0.9595 0.8491
0.9157 0.6557 0.9340
0.7922 0.0357 0.6787
I want to add the entries of second column and take difference of entries in second row to the middle number, i.e.
0.6557+0.9595+0.0357-0.9157-0.9340 = -0.1988
How can I do?

  0 Comments

Sign in to comment.

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 8 May 2020
>> sum(A(:,2))-A(2,1)-A(2,3)
ans = -0.19880

  3 Comments

Muhammad Usman
Muhammad Usman on 8 May 2020
I need a general form of this formula, like for a matrix of 11-by-11?
Stephen Cobeldick
Stephen Cobeldick on 8 May 2020
For any square matrix where N is odd:
>> N = 3; % e.g. size(A,1)
>> X = 1+(N-1)/2; % the middle
>> sum(A(:,X))-sum(A(X,[1:X-1,X+1:N]))
ans = -0.19880

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 8 May 2020
You can do this with two simple sum calls and two basic arithmetic operations if you use the inclusion-exclusion principle. Since this sounds like it may be a homework assignment I'm not going to give the complete answer.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by